TensorFlow: 2 Errors Caused by Old Version

Error1: TypeError

TypeError: Tensor objects are only iterable when eager execution is enabled. To iterate over this tensor use tf.map_fn.

出错代码:

shape = tf.cast(tf.shape(img)[:-1], tf.float32)
long_dim = max(shape) #error here

Error2: AttributeError

AttributeError: module 'tensorflow' has no attribute 'optimizers'

出错代码:

opt = tf.optimizers.Adam(learning_rate=0.01, beta_1=0.99, epsilon=1e-1)

共同原因

在Pycharm上装的tensorflow的版本是v1 (1.14.0)


image.png

Error2解决方法:

将代码 tf.optimizers 改为 tf.keras.optimizers

共同解决方法:安装TF2.0版本

Option1:通过命令行

打开command line -> 输入 pip install tensorflow==2.0.0-beta1

Option2:使用Pycharm

File -> Settings -> Project - Project Interpreter -> “+”


image.png

搜索tensorflow -> 在Specify version前打勾✔,选择2.0.0b1 -> Install Package


image.png

Reference:
https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/Adam
https://github.com/tensorflow/tensorflow/issues/27929
https://www.tensorflow.org/beta

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。