只需使用Python 3.6.6和CUDA 9.0在Win10上安装tensorflow-gpu 1.10 在https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/notebooks/custom_training.ipynb#scrollTo=_WRu7Pze7wk8
处尝试示例代码顶部出现问题:
class Model(object): def __init__(self):
# Initialize variable to (5.0, 0.0)
# In practice, these should be initialized to random values.
self.W = tf.Variable(5.0)
self.b = tf.Variable(0.0)
def __call__(self, x):
return self.W * x + self.b model = Model()
assert model(3.0).numpy() == 15.0
在Google笔记本上运行时,失败并显示
RuntimeError:启用急切执行时不支持tf.Variable。请改用tf.contrib.eager.Variable
您应该解决该问题。修复后,代码在Notebook上运行不会出错。
但是,当我将其复制到本地.py文件并运行该文件时,却遇到了这个意外错误:
回溯(最近通话最近): 文件“ linear.py”,第15行 断言模型(3.0).numpy()== 15.0 AttributeError:“ Tensor”对象没有属性“ numpy”
但是在Python的交互模式下...
>>> import tensorflow as tf
>>> tf.enable_eager_execution()
>>> v = tf.contrib.eager.Variable(4.7)
>>> print( v.numpy() )
4.7
>>>
有什么作用? (请记住,我是一个Python和tensorflow新手)
答案 0 :(得分:0)
RuntimeError
。您正在GitHub的master
分支中查看笔记本的版本。笔记本的该版本旨在与代码库的master
分支同步,其中tf.Variable
可以正常工作。如果要查找与TensorFlow特定发行版相对应的笔记本,则应查看相应发行分支中的版本。例如,https://colab.research.google.com/github/tensorflow/tensorflow/blob/r1.10/tensorflow/contrib/eager/python/examples/notebooks/eager_basics.ipynb似乎www.tensorflow.org/tutorials错误地链接到master分支版本,因此这肯定是网站上的错误。更新:网站已修复,链接应指向相应的发行分支。
tf.enable_eager_execution()
的调用,或者代码正在with tf.Graph().as_default()
块内运行。那会发生什么吗?希望有帮助。