错误:模块'tensorflow._api.v2.train'没有属性'GradientDescentOptimizer',解决方案

时间:2020-07-07 18:20:10

标签: python tensorflow tensorflow2.0

import tensorflow as tf
# the equation is  : 4x+2 = 0
unknownvalue = tf.Variable(0.0)

a = tf.constant(4.0)
b = tf.constant(2.0)
c = tf.multiply(unknownvalue,a)  # 4x
equation  = tf.add(c,b) # 4x+2
zerovalue = tf.constant(0.0)
diff = tf.square(equation-zerovalue) # differnce is : 4x+2  -  0 
solving = tf.train.GradientDescentOptimizer(0.01).minimize(diff)
init = tf.global_variables_initializer()
tf.print(init)
for n in range(1000):
    tf.print(solving)

代码是从他的tensorflow库以新版本编写的 程序由于此错误而无法运行,它是 AttributeError:模块“ tensorflow._api.v2.train”没有属性“ GradientDescentOptimizer” 解决办法是什么?

1 个答案:

答案 0 :(得分:0)

tensorflow 2在keras.optimizers中具有梯度下降,将其更改为:tf.keras.optimizers.SGD().minimize(var_list=diff)

包裹已经移动并重新组织。

这里是一个链接,它将向您显示将代码从使用tensorflow 1转换为tensorflow 2所需的更改:link