K、 函数返回“TypeError:unshable type:'list'”

2024-05-20 01:51:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算重量的梯度。我使用以下代码:

(假设模型已经定义)

(数据和标签也作为输入输入)

weights = model.trainable_weights
gradients = model.optimizer.get_gradients(model.total_loss, weights)
input_tensors = [model.input, model.sample_weights, K.learning_phase() ]
getGradients = K.function(inputs=input_tensors, outputs=gradients)
sampleWeights = np.ones(len(image_data))
inputs = [[image_data, labels], sampleWeights, 0 ]
print getGradients(inputs)

但是,这将返回以下错误: enter image description here

我使用Keras(v2.0.6)和Tensorflow(v1.2.1)作为后端。在

另外,有没有其他方法不使用K.function?(我不熟悉Keras和Tensorflow)。在


Tags: imageinputdatamodeltensorflowfunctionkeras梯度
1条回答
网友
1楼 · 发布于 2024-05-20 01:51:47

发现错误:模型样本重量是一个列表,这是个问题。将其更改为模型样本重量[0]有效。在

input_tensors = [model.input, model.sample_weights[0], K.learning_phase() ]

相关问题 更多 >