【发布时间】:2020-10-19 09:41:20
【问题描述】:
我在自定义损失函数中使用K.round函数时,出现如下错误:
ValueError: No gradients provided for any variable: ['sequential_20/dense_240/kernel:0', 'sequential_20/dense_240/bias:0', 'sequential_20/dense_241/kernel:0', 'sequential_20/dense_241/bias:0', 'sequential_20/dense_242/kernel:0', 'sequential_20/dense_242/bias:0', 'sequential_20/dense_243/kernel:0', 'sequential_20/dense_243/bias:0', 'sequential_20/dense_244/kernel:0', 'sequential_20/dense_244/bias:0', 'sequential_20/dense_245/kernel:0', 'sequential_20/dense_245/bias:0', 'sequential_20/dense_246/kernel:0', 'sequential_20/dense_246/bias:0', 'sequential_20/dense_247/kernel:0', 'sequential_20/dense_247/bias:0', 'sequential_20/dense_248/kernel:0', 'sequential_20/dense_248/bias:0', 'sequential_20/dense_249/kernel:0', 'sequential_20/dense_249/bias:0', 'sequential_20/dense_250/kernel:0', 'sequential_20/dense_250/bias:0', 'sequential_20/dense_251/kernel:0', 'sequential_20/dense_251/bias:0'].
这是我的工作代码示例:(如果我使用没有K.round 的损失函数,则可以)
def adjusted_loss(y_true, y_pred):
y_pred = K.round(y_pred / 1000) * 1000
loss = y_pred - y_true
return loss
model = tf.keras.Sequential()
model.add(layers.Dense(1, activation = LeakyReLU()))
model.compile(loss= adjusted_loss, optimizer= opt)
有什么建议吗?
谢谢
【问题讨论】:
标签: python tensorflow keras loss-function