Python 如何恢复tensorflow接收检查点文件(ckpt)?

Python 如何恢复tensorflow接收检查点文件(ckpt)?,python,tensorflow,Python,Tensorflow,我有inception\u resnet\u v2\u 2016\u 08\u 30.ckpt文件,这是一个预先培训过的inception模型。我想使用恢复此模型 saver.restore(sess,ckpt\u文件名) 但为此,我将被要求编写在训练此模型时使用的变量集。我在哪里可以找到这些(脚本或详细描述)?我相信这正是您所需要的 编辑:另外,看看tf.train.NewCheckpointReader——它有一个get\u variable\u to\u shape\u map()方法。请

我有
inception\u resnet\u v2\u 2016\u 08\u 30.ckpt
文件,这是一个预先培训过的inception模型。我想使用恢复此模型

saver.restore(sess,ckpt\u文件名)

但为此,我将被要求编写在训练此模型时使用的变量集。我在哪里可以找到这些(脚本或详细描述)?

我相信这正是您所需要的


编辑:另外,看看
tf.train.NewCheckpointReader
——它有一个
get\u variable\u to\u shape\u map()
方法。请参阅。

首先,请在内存中获取网络体系结构。您可以从

一旦有了此程序,请使用以下方法来使用模型:

from inception_resnet_v2 import inception_resnet_v2, inception_resnet_v2_arg_scope

height = 299
width = 299
channels = 3

X = tf.placeholder(tf.float32, shape=[None, height, width, channels])
with slim.arg_scope(inception_resnet_v2_arg_scope()):
     logits, end_points = inception_resnet_v2(X, num_classes=1001,is_training=False)
有了它,所有网络都在内存中,现在可以使用tf.train.saver使用检查点文件(ckpt)初始化网络:

saver = tf.train.Saver()
sess = tf.Session()
saver.restore(sess, "/home/pramod/Downloads/inception_resnet_v2_2016_08_30.ckpt")
如果你想提取瓶子,很简单,比如说你想从最后一层获取特征,那么你只需声明
predictions=end_points[“Logits”]
如果您想获得其他中间层的名称,可以从上面的程序inception\u resnet\u v2.py获得这些名称


之后,您可以调用:
output=sess.run(预测,feed\u dict={X:batch\u images})

谢谢,但元图有助于加载模型定义。我目前拥有的只是一个检查点模型,它只包含经过训练的权重和偏差值(没有关于模型体系结构等的信息)。您需要
将tensorflow.contrib.slim导入为slim
才能使用
slim.arg\u scope