web-dev-qa-db-ja.com

名前tf.Sessionは非推奨です。代わりにtf.compat.v1.Sessionを使用してください

Tensorflowコードで次の非推奨警告が表示されました:

名前tf.Sessionは非推奨です。代わりにtf.compat.v1.Sessionを使用してください。

  • この警告を受けた理由
  • Tensorflow 2.0で何が起こるか。 tf.sessionの代わりに
  • tf.compat.v1.Sessionを使用しても大丈夫ですか
16
Hadi Rasekh

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で行われた改善の多くを利用できません。

より良い解決策は:

  • Tf.Session.run呼び出しを置き換える:すべてのtf.Session.run呼び出しをPython function。で置き換える必要があります。
    • Feed_dictとtf.placeholdersは関数の引数になります。
    • フェッチは関数の戻り値になります。
14
Hadi Rasekh