【发布时间】:2019-05-30 18:23:40
【问题描述】:
[Python 3.7, Tensorflow] 我训练了一个神经网络。一切正常,它会学习,但是一旦完成学习,它就会关闭并且失去进步。现在我要做的是输入新数据并手动查看网络的性能。
我已经摆弄了
saver = tf.train.Saver()
saver.save(sess, 'model/model.ckpt')
但这总是会导致一英里长的错误报告以“未知错误:无法重命名'model/model.ckpt'”等结尾。
上下文中的代码如下所示:
def train_neural_network(x):
training_data = generate_training_data() # i cut getting training data since its a bit out of context here, but its basically like mnist data
prediction = neural_network_model(x) # normal, 3-layer feed forward NN
cost = tf.reduce_mean( tf.square(prediction - y) )
optimizer = tf.train.AdamOptimizer(0.01).minimize(cost)
hm_epochs = 10
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch in range(hm_epochs+1):
epoch_loss = 0
for i in range(10):
epoch_x, epoch_y = training_data
_, c = sess.run([optimizer, cost], feed_dict = {x: epoch_x, y: epoch_y})
saver.save(sess, 'model/model.ckpt')
我尝试在 main 中调用这个经过训练的神经网络:
train_neural_network(x)
X, Y = generate_training_data()
prediction = neural_network_model(x)
saver = tf.train.Saver()
with tf.Session() as sess:
saver.restore(sess, 'model/model.ckpt')
result = sess.run(prediction, feed_dict={x: X})
print(Y, result)
到目前为止,它都在一个文件中,但我也可以使用两个单独的文件。
这会导致一个错误,它表示通常的 python 错误,由其路径组成并以
结尾
“……在 _do_call 中
raise type(e)(node_def, op, message)"
在我认为之前,出现了特定于 Tensorflow 的错误:
“未知错误:无法重命名‘model/model.ckpt’”
和
"由操作 'save_13/SaveV2' 引起,定义在:",
然后是一条很长很长的路,大约有 87 行,
“未知错误”再次重复。
我想要的是带有来自神经网络预测输出的打印输出标签。 (代码中的打印行。)
不幸的是,到目前为止,我还没有找到任何适用于各种互联网搜索的东西,但我觉得让它发挥作用应该不会太难。 提前谢谢你。
【问题讨论】:
标签: python tensorflow machine-learning save