Я написал тензорный поток CNN, и он уже обучен. Я хочу, чтобы восстановить его, чтобы запустить его на несколько образцов, но, к сожалению ее выплевывать:Tensorflow ValueError: никаких переменных для сохранения от
ValueError: No variables to save
Мой код Eval можно найти здесь:
import tensorflow as tf
import main
import Process
import Input
eval_dir = "/Users/Zanhuang/Desktop/NNP/model.ckpt-30"
checkpoint_dir = "/Users/Zanhuang/Desktop/NNP/checkpoint"
init_op = tf.initialize_all_variables()
saver = tf.train.Saver()
def evaluate():
with tf.Graph().as_default() as g:
sess.run(init_op)
ckpt = tf.train.get_checkpoint_state(checkpoint_dir)
saver.restore(sess, eval_dir)
images, labels = Process.eval_inputs(eval_data = eval_data)
forward_propgation_results = Process.forward_propagation(images)
top_k_op = tf.nn.in_top_k(forward_propgation_results, labels, 1)
print(top_k_op)
def main(argv=None):
evaluate()
if __name__ == '__main__':
tf.app.run()
Большое спасибо, хотя я удалить Eval данных = Eval данных и он должен работать. Прямо сейчас, когда я запускаю программу, python ничего не выводит. –
Я не уверен, откуда происходит 'eval_data', поскольку это имя не связано в вашем примере. Использует ли 'Process.eval_inputs()' входной конвейер? Возможно, вам нужно добавить 'tf.train.start_queue_runners (sess = sess) после запуска' saver.restore() '. – mrry
Спасибо. Код исправлен, но после добавления этой строки появилась новая ошибка. E tensorflow/core/client/tensor_c_api.cc: 485] [0] вне диапазона –