`loss` passed to Optimizer.compute_gradients should be a function when eager execution is enabl

loss passed to Optimizer.compute_gradients should be a function when eager execution is enabl

1、错误原因:

这是因为tensorflow版本的问题,tensorflow1和tensorflow2中的代码略有不同,更换部分代码即可

2、tensorflow1出错的代码

loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.5)
# #tf.compat.v1.disable_eager_execution()
train = optimizer.minimize(loss)

3、修改部分代码

loss = lambda: tf.keras.losses.MSE(y_data, Weights * x_data + biases)
optimizer = tf.keras.optimizers.SGD(learning_rate=0.5)  

4、即可

这是小问题,继续学习!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值