0
の保存と復元:はTensorflow - 私が作成したとtensorflowでnnは、単純な保存された別のフォルダから
import tensorflow as tf
import numpy as np
x = tf.placeholder(tf.float32, [1, 1],name='input_placeholder')
y = tf.placeholder(tf.float32, [1, 1],name='input_placeholder')
W = tf.get_variable('W', [1, 1])
layer = tf.matmul(x, W, name='layer')
loss = tf.subtract(y,layer)
train_step = tf.train.AdagradOptimizer(0.1).minimize(loss, name='train_step')
all_saver = tf.train.Saver()
sess = tf.Session()
sess.run(tf.global_variables_initializer())
x_test = np.zeros((1, 1))
y_test = np.zeros((1, 1))
some_output = sess.run([train_step],feed_dict = {x:x_test,y:y_test})
save_path = r'C:\Temp\tf_exp\save_folder\test'
all_saver.save(sess,save_path)
それから私はC:\Temp\tf_exp\restore_folder
に(正確に移動、コピーではない)C:\Temp\tf_exp\save_folder\
内のすべてのファイルを取って、それらを移動しました。私が移動したファイルは、以下のとおりです。
checkpoint
test.data-00000-of-00001
test.index
test.meta
は、それから私は新しい場所からNN復元しようとした:
C:\Temp\tf_exp\restore_folder\\
ERROR:tensorflow:Couldn't match files for checkpoint C:\Temp\tf_exp\save_folder\test
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-9af4e683fc4b> in <module>()
5 new_all_saver = tf.train.import_meta_graph(meta_path)
6 sess=tf.Session()
----> 7 new_all_saver.restore(sess, tf.train.latest_checkpoint(checkpoint_path))
8 graph = tf.get_default_graph()
9 layer= graph.get_tensor_by_name('layer:0')
~\AppData\Local\conda\conda\envs\tensorflow\lib\site-packages\tensorflow\python\training\saver.py in restore(self, sess, save_path)
1555 return
1556 if save_path is None:
-> 1557 raise ValueError("Can't load save_path when it is None.")
1558 logging.info("Restoring parameters from %s", save_path)
1559 sess.run(self.saver_def.restore_op_name,
ValueError: Can't load save_path when it is None.
私は避けることができますどのように
:ここ
meta_path = r'C:\Temp\tf_exp\restore_folder\test.meta'
checkpoint_path = r'C:\Temp\tf_exp\restore_folder\\'
print(checkpoint_path)
new_all_saver = tf.train.import_meta_graph(meta_path)
sess=tf.Session()
new_all_saver.restore(sess, tf.train.latest_checkpoint(checkpoint_path))
graph = tf.get_default_graph()
layer= graph.get_tensor_by_name('layer:0')
x=graph.get_tensor_by_name('input_placeholder:0')
は、コード生成を復元エラーですそれ?ファイルを移動する適切な方法は何ですか?
アップデート:私は答えを探していたように相対パスを使用して移動するための方法であるように
、それが見えます。しかし、私はどのように相対的なパスを使用するか分からない。 Pythonの現在の作業ディレクトリをモデルデータを保存する場所に変更する必要がありますか?