0
私はtensorflowを使ったテキスト分類に関するwildmlブログに従っています。私は次のようにdefでグラフを保存するためにコードを変更しました:グラフのdefを.pbファイルから復元する際のTensorflowエラー
tf.train.write_graph(sess.graph_def,'./DeepLearn/model/','train.pb', as_text=False)
その後、次のように私は、グラフを復元しています別のファイルに:
with tf.gfile.FastGFile(os.path.join('./DeepLearn/model/','train.pb'), 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
with tf.Session() as sess:
t = sess.graph.get_tensor_by_name('embedding/W:0')
sess.run(t)
私はテンソルを実行し、その値を取得しようとすると、 、私は次のエラーを取得しています:
tensorflow.python.framework.errors.FailedPreconditionError: Attempting to use uninitialized value embedding/W
このエラーの原因として何ができますか。テンソルは、保存されたグラフから復元するときに初期化されているはずです。
'sess.run(tf.initialize_all_variables())'? – sygi
しかし、私は以前に保存されたグラフからテンソルをロードしているので、この文を使用して初期化する必要はないと思います。 – Nitin
変数を初期化する必要があります。グラフの値を読み取るのは変数の値ではなくグラフ自体を復元するだけなので、変数を初期化する必要があります。チェックポイントからロードする必要がある変数の値を復元したい場合。 –