名称 tf.Session 已弃用。请改用 tf.compat.v1.Session

The name tf.Session is deprecated. Please use tf.compat.v1.Session instead

我在我的 tensorflow 代码中收到以下弃用警告:

The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.

为了让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()

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

The better solution is:

  • 替换 tf.Session.运行 调用:每个 tf.Session.运行 调用都应替换为 Python 函数。
    • feed_dict 和 tf.placeholders 成为函数参数。
    • 提取成为函数的 return 值。