不推荐使用名称tf.Session。请改用tf.compat.v1.Session

Had*_*ekh 8 tensorflow tensorflow2.0

我的张量流代码中收到以下弃用警告:

不推荐使用名称tf.Session。请改用tf.compat.v1.Session。

  • 为什么我收到此警告
  • 在Tensorflow 2.0中将会发生什么。代替tf.session
  • 可以使用吗 tf.compat.v1.Session

Had*_*ekh 9

为了使TensorFlow在2.0版中更具“ Pythonic”性,TF 2.0设计上没有tf.Session。

TensorFlow 1.X要求用户通过调用tf。* API手动将抽象语法树(图形)拼接在一起。然后,它要求用户通过将一组输出张量和输入张量传递给session.run()调用来手动编译抽象语法树。

TensorFlow 2.0急切地执行(就像Python通常一样),在2.0中,图和会话应该感觉像实现细节。

您可以使用:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
Run Code Online (Sandbox Code Playgroud)

但是,这不能让您利用TensorFlow 2.0中进行的许多改进。

更好的解决方案是:

  • 替换tf.Session.run调用:每个tf.Session.run调用均应替换为Python函数。
    • feed_dict和tf.placeholders成为函数参数。
    • 提取将成为函数的返回值。

  • `>>> tf.disable_v2_behavior() 警告:tensorflow:来自 /usr/local/lib/python3.7/dist-packages/tensorflow_core/python/compat/v2_compat.py:65:disable_resource_variables(来自tensorflow.python.ops。 variable_scope) 已弃用,并将在未来版本中删除。更新说明:从长远来看,今天不支持非资源变量:| (3认同)