1. ホーム
  2. Deep Learning

tensorflow experience code error Adding visible gpu devices: 0 , モジュール 'tensorflow' には 'Session' という属性がありません。

2022-02-16 05:57:14

おそらく、あなたはtf 2.0.0以降をインストールしていると思いますが、実を言うと、最先端の人は、以下の文でテストすると、多くの穴に落ちる可能性があります。

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

エラー、最初にAdding visible gpu devicesで停止します。0、2分待ってエラーを返します、モジュール 'tensorflow'には属性 'Session'がありません。

tensorflow 2.0以降ではtf.Session()が削除され、tf.compat.v1.Session()に置き換わっていることが判明しました。

run()を呼び出す前に、グラフに操作を追加する。

問題は、teosorflow 2.0が動作していること、TensorFlow core v2がデフォルトでイーガー実行を有効にしているため、以下のように記述する必要がないことです。

つまり、バージョン2.0からイーガー実行がデフォルトで有効になったため、Session() と .run 関数を使用する必要がなくなりました。

次のように変更します。

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

方法2

v1パッケージもインポートして、v2を無効にします。

import tensorflow as tf
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
hello = tf.constant('hello, tensorFlow!')
sess = tf.Session()
print(sess.run(hello))

どちらの方法も有効です

https://hacpai.com/article/1565513319066