【发布时间】:2023-04-02 21:15:02
【问题描述】:
首先我禁用急切执行 然后,我计算我的损失函数如下:
def loss_fn(x, y):
y_ = model(x, training=True)
loss = tf.reduce_mean(tf.square(y_ - y))
return loss
我的优化器是:
opt = Adam(1e-3)
现在,我想尽量减少上述损失。我写了以下代码:
def train(x, y):
loss = loss_fn(x, y)
opt.minimize(loss, var_list=model.trainable_variables)
但我收到以下错误:
TypeError: 'Tensor' object is not callable
我决定尝试以下方法:
def train(x, y):
loss = loss_fn(x, y)
opt.minimize(lambda: loss, var_list=model.trainable_variables)
但我也有以下错误:
ValueError: No gradients provided for any variable: ['dense/kernel:0', 'dense/bias:0', ...]
我寻找了一些链接,但没有得到我想要的。链接示例:Tensorflow 2: How can I use AdamOptimizer.minimize() for updating weights
有人帮我吗?
【问题讨论】:
标签: python keras tensorflow2.0 minimize