RuntimeError:当启用急切执行时,传递给Optimizer.compute_gradients的`loss`应该是一个函数。使用Tensorflow1.15

我正在尝试使用 tensorflow 1.15 训练模型并启用急切执行。对于火车损失,我正在使用

train loss = mse_loss*args.lmbda + bits_per_pixel_loss

我已经定义了优化器如下

main_optimiser = tf.train.AdamOptimiser(learning_rate=1e-3)

到这里代码工作正常错误出现在优化的最小部分

main_step = main_optimiser.minimise(train_loss, global_step=step)

我收到以下错误:

RuntimeError: `loss` passed to Optimizer.compute_gradients should be a function when eager execution is enabled.

因此,当我在函数内部计算 train_loss 时说,loss_computer在 train 函数内部构建然后使用

main_step =main_optimiser.minimise(loss_computer, global_step=step)

我收到以下错误:

AttributeError: 'NoneType' object has no attribute 'dtype'.

如何在启用 Eager Execution 的情况下训练模型?如果我需要澄清任何事情,请告诉我。非常感谢任何帮助,谢谢!

以上是RuntimeError:当启用急切执行时,传递给Optimizer.compute_gradients的`loss`应该是一个函数。使用Tensorflow1.15的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>