繁体   English   中英

TensorFlow如何从旧版本切换到新版本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM