发新帖

运行小程序为什么出错

[复制链接]
1243 3

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
你好,我遇到了一个问题。能帮我解决下吗

X = tf.constant([[1., 2.], [3., 4.]])
y = tf.constant([[1.], [2.]])
w = tf.get_variable('w', shape=[2, 1], initializer=tf.constant_initializer([[1.], [2.]])) b = tf.get_variable('b', shape=[1], initializer=tf.constant_initializer([1.]))
with tf.GradientTape() as tape:
L = 0.5 * tf.reduce_sum(tf.square(tf.matmul(X, w) + b - y))
w_grad, b_grad = tape.gradient(L, [w, b]) # 计算 L(w, b) 关于 w, b 的偏导数 print([L.numpy(), w_grad.numpy(), b_grad.numpy()])
输出:
[62.5, array([[35.],
   [50.]], dtype=float32), array([15.], dtype=float32)]


报错:
madeshengdeiMac:python madesheng$ python CNN.py
/Users/madesheng/anaconda2/lib/python2.7/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Traceback (most recent call last):
  File "CNN.py", line 53, in <module>
    w_grad, b_grad = tape.gradient(L, [w, b])
  File "/Users/madesheng/anaconda2/lib/python2.7/site-packages/tensorflow/python/eager/backprop.py", line 858, in gradient
    output_gradients=output_gradients)
  File "/Users/madesheng/anaconda2/lib/python2.7/site-packages/tensorflow/python/eager/imperative_grad.py", line 63, in imperative_grad
    tape._tape, vspace, target, sources, output_gradients)  # pylint: disable=protected-access
AttributeError: 'Variable' object has no attribute '_id'

精彩评论3

snowkylin  版主  发表于 2018-9-22 19:38:55 | 显示全部楼层
请说明一下操作系统,Python环境,TensorFlow版本,以及是否运行了 tf.enable_eager_execution()
二毛钱  TF荚荚  发表于 2018-9-23 10:06:54 | 显示全部楼层
snowkylin 发表于 2018-9-22 19:38
请说明一下操作系统,Python环境,TensorFlow版本,以及是否运行了 tf.enable_eager_execution() ...

谢谢大佬,按你说的加了 tf.enable_eager_execution()后可以运行得到结果了。 我再问下tf.enable_eager_execution()是什么意思,作用是什么?刚开始学习,小白一个。你的这篇做文章实在是太有用了
谢谢,谢谢
舟3332  TF芽芽  发表于 2018-10-15 18:36:54 来自手机  | 显示全部楼层
二毛钱 发表于 2018-9-23 10:06
谢谢大佬,按你说的加了 tf.enable_eager_execution()后可以运行得到结果了。 我再问下tf.enable_eager_e ...

意思就是立即执行 有点像所见記所得
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表