tensorflowで複数のモデルを切り替えて使いたいと思っているのですが,以下の2つのグラフを切り替えて結果を出す以下のコードを実行したところ,
python
1import tensorflow as tf 2import numpy as np 3 4graph1 = tf.Graph() 5with graph1.as_default(): 6 holder = tf.placeholder(tf.int32) 7 var = tf.Variable(10) 8 ret = holder * var 9 10graph2 = tf.Graph() 11with graph2.as_default(): 12 holder = tf.placeholder(tf.int32) 13 var = tf.Variable(10) 14 ret = holder * var 15 16 17with tf.Session(graph=graph1) as sess: 18 sess.run(tf.global_variables_initializer()) 19 feed = {holder: 1} 20 ret = sess.run(ret,feed_dict = feed) 21 print(ret) 22with tf.Session(graph=graph2) as sess: 23 sess.run(tf.global_variables_initializer()) 24 feed = {holder: 2} 25 ret = sess.run(ret,feed_dict = feed) 26 print(ret) 27
以下のようなエラーが発生して発生してしまいます.これはなぜなのでしょうか?原因を教えてくださると助かります.
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1064, in _run
allow_operation=False)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3035, in as_graph_element
return self._as_graph_element_locked(obj, allow_tensor, allow_operation)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3114, in _as_graph_element_locked
raise ValueError("Tensor %s is not an element of this graph." % obj)
ValueError: Tensor Tensor("Placeholder:0", dtype=int32) is not an element of this graph.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "multi_graph.py", line 20, in <module>
ret = sess.run(ret,feed_dict = feed)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 889, in run
run_metadata_ptr)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1067, in _run
+ e.args[0])
TypeError: Cannot interpret feed_dict key as Tensor: Tensor Tensor("Placeholder:0", dtype=int32) is not an element of this graph.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。