Я следую за блоком wildml по классификации текста, используя тензор. Я изменил код, чтобы сохранить граф Защиты следующим образом:Ошибка Tensorflow при восстановлении графа def из файла .pb
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
Вам все равно нужно инициализировать переменные, так как чтение graphdef восстанавливает только сам граф, а не значения переменных. Если вы хотите восстановить значения переменных, которые нужно загрузить с контрольной точки. –