我想计算重量的梯度。我使用以下代码:
(假设模型已经定义)
(数据和标签也作为输入输入)
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)
我使用Keras(v2.0.6)和Tensorflow(v1.2.1)作为后端。在
另外,有没有其他方法不使用K.function?(我不熟悉Keras和Tensorflow)。在
发现错误:模型样本重量是一个列表,这是个问题。将其更改为模型样本重量[0]有效。在
相关问题 更多 >
编程相关推荐