当我尝试加载以tensorflow编写的已保存模型时遇到问题。该代码可用here(代码1)。该代码加载一个预训练的模型,并使用该预训练的模型来计算具有不同输入的结果。保存的模型文件可用here。实际上,保存的模型是通过训练网络而获得的,该网络是pix2pixgan(code2)的变体。
玩具示例就像
myinput_np, mytarget_np, bbox = my_readimg_np('test2.jpg')
#load gan graph
saver = tf.train.import_meta_graph(checkpoint_path + "model-210000.meta")
gan_graph = tf.get_default_graph()
convert_targets = gan_graph.get_tensor_by_name("convert_inputs/convert_image:0")
myinputs_p = tf.placeholder(tf.float32, shape=[1, 256, 256, 4])
mytargets_p = tf.placeholder(tf.float32, shape=[1, 256, 256, 3])
with tf.Session() as sess:
saver.restore(sess, tf.train.latest_checkpoint(checkpoint_path))
#coord = tf.train.Coordinator()
#threads = tf.train.start_queue_runners(sess=sess, coord=coord)
#load gan weights
results = sess.run(convert_targets, feed_dict={myinputs_p: myinput_np, mytargets_p: mytarget_np})
print(convert_targets.name)
print (results)
当我运行code1加载预训练的模型并使用输入计算结果时,该程序似乎被阻止/挂起。该程序正在运行,但是“ sess.run()”运行时屏幕上没有任何输出。
有人猜测这可能是由tensorlow的读取线程引起的,建议添加
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord).
添加这两行后,出现错误“ 进程退出代码为-1073741819(0xC0000005)”。
您能帮我吗?您的帮助对我非常重要。非常感谢。