[英]How to switch from the old to the new version of TensorFlow?
我有一段时间没有使用 TensorFlow,现在,当我再次开始使用它时,我的代码的第一行基本有问题:
X = tf.placeholder(name = 'X')
我收到以下错误消息:
AttributeError: module 'tensorflow' has no attribute 'placeholder'
我通过谷歌搜索得到的是placeholder
方法已被弃用。
所以,我的问题是,我应该从哪里开始阅读以找出已弃用的内容以及使用 TensorFlow 的新方法是什么?
在运行代码之前,您仍然可以通过选择Tensorflow 1.x
来访问旧的TF 1.x
代码:
%tensorflow_version 1.x
import tensorflow as tf
X = tf.placeholder(tf.float32, name = 'X')
X
Output:
<tf.Tensor 'X_1:0' shape=<unknown> dtype=float32>
tf.placeholder在tensorflow eager execution模式(TensorFlow 2.0之后的版本)中被tf.keras.Input取代。
请查看此迁移指南以详细了解将TF 1.x
代码转换为TF 2.x
的信息。
如果您使用的是脚本,@TFer2 的回答将不起作用。 您需要禁用 tfv2 行为,以便您可以使用 v1 行为。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
现在你可以使用 tf v1 东西了。
我建议查看 tfv1 与 tfv2 任务的一些示例。 这些将帮助您了解主要差异。
例如 tf1 中的二进制分类与 tf2 中的二进制分类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.