首页 > 解决方案 > 模块“tensorflow_core._api.v2.train”没有属性“GradientDescentOptimizer”和“Tensor”对象在 python 上的 Tensorflow 2.0 中不可调用

问题描述

我在 tensorflow 2.0 中对这段代码有一个问题:


import tensorflow as tf
import numpy as np

w=tf.Variable(0, dtype=tf.float32)
cost=tf.add( tf.add(w**2,tf.multiply(-10.,w)),25)
#cost=w**2-10*w+25
train= tf.train.GradientDescentOptimizer(0.01).minimize(cost)import tensorflow as tf
import numpy as np

------------------------------
Output:
---> 10 train= tf.train.GradientDescentOptimizer(0.01).minimize(cost)

AttributeError: module 'tensorflow_core._api.v2.train' has no attribute 'GradientDescentOptimizer'

然后我尝试使用: tf.optimizers.SGD(0.01).minimize(cost)

import tensorflow as tf
import numpy as np

w=tf.Variable(0, dtype=tf.float32)
cost=tf.add( tf.add(w**2,tf.multiply(-10.,w)),25)
#cost=w**2-10*w+25

train= tf.optimizers.SGD(0.01).minimize(cost,var_list=[w])



TypeError: 'Tensor' object is not callable

请帮助我,我正在学习 tensorflow。

标签: pythontensorflowkerastensorflow2.0

解决方案


你应该修改

optimizer = tf.train.GradientDescentOptimizer

成为

optimizer = tf.compat.v1.train.GradientDescentOptimizer

推荐阅读