如何导入经过训练的深度CNN模型?

时间:2018-10-19 18:12:58

标签: python tensorflow conv-neural-network

我已经使用Tensorflow在集群上的GPU上训练了深度CNN模型。现在,我想在笔记本电脑中加载该模型。但是,当我想使用以下命令时,会收到错误消息:

new_saver = tf.train.import_meta_graph('./3/Model_Arch3/Deep_CNN_Color_Arch8.ckpt-178000.meta')

我收到的错误是:

  

回溯(最近一次通话最后一次):文件“ dev_test.py”,第28行,在          new_saver = tf.train.import_meta_graph('./ 3 / Model_Arch3 / Deep_CNN_Color_Arch8.ckpt-178000.meta')   文件   “ /usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py”,   import_meta_graph中的第1810行       ** kwargs)文件“ /usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/meta_graph.py”,   660行,在import_scoped_meta_graph中       producer_op_list = producer_op_list)文件“ /usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/importer.py”,   第285行,在import_graph_def中       引发ValueError('在定义的操作中没有操作名为%s。'%node.op)ValueError:在定义的操作中没有名为ParseSingleExample的操作   操作。

如果有人帮助我解决这个问题,我真的很感激。

2 个答案:

答案 0 :(得分:1)

我发现了问题所在。 我正在使用python 3.5.4进行培训。然后我使用python 2.7重构了图,这就是问题所在。 感谢那些尝试提供帮助的人

答案 1 :(得分:0)

这也可能是您尝试执行的操作的延迟加载问题。 在加载图形之前,尝试添加Private Sub STRPoints_ValueChanged(sender As Object, e As EventArgs) Handles STRPoints.ValueChanged If val(STRPoints.Value) >= 10 Then STRScorelbl.Text = val(STRScorelbl.Text) + (val(STRPoints.Value) Mod 10) ElseIf STRPoints.Value < 10 Then STRScorelbl.Text = val(STRScorelbl.Text) - (10 - val(STRPoints.Value)) End If End Sub 一行。

供参考-在旧版TF GitHub问题中提出了类似问题 https://github.com/tensorflow/tensorflow/issues/10130


更新:

我想我现在看到了这个问题。由于您已经在GPU上进行了培训,现在您可以在常规计算机/ CPU上运行。您需要从加载的对象中清除设备。尝试将clear_devices添加为参数:

dir(tf.contrib)

最后,您的本地计算机和GPU计算机之间的TF版本可能不同步。尝试更新您的本地版本。