1. ホーム
  2. tensorflow

tf.Session()とtf.InteractiveSession()の違いは何ですか?

2023-09-29 20:54:42

質問

どのような場合に tf.Session()tf.InteractiveSession() は、どのような目的で検討されるのでしょうか?

前者を使おうとすると、一部の関数(例えば。 .eval() など)が動作せず、後者のものに変更したら動作しました。

どのように解決するのですか?

主な引用元 公式 のドキュメントから引用しています。

通常のSessionとの唯一の違いは、InteractiveSessionは構築時にデフォルトのセッションとして自分自身をインストールすることです。Tensor.eval()とOperation.run()のメソッドは、そのセッションを使用してOpsを実行します。

これにより、opを実行するために明示的にSessionオブジェクトを渡す必要がなくなるので、シェルのようなインタラクティブなコンテキストを使用することができる。

sess = tf.InteractiveSession()
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# We can just use 'c.eval()' without passing 'sess'
print(c.eval())
sess.close()

また、次のように言うことも可能です。 InteractiveSession は、セッションオブジェクトを常に参照することなく変数を実行できるため、より少ないタイピングをサポートします。