我有一个预训练的初始模型inception_resnet_v2_2016_08_30.ckpt文件。我想使用恢复该模型

saver.restore(sess, ckpt_filename)

但是为此,我将需要编写训练该模型时使用的一组变量。在哪里可以找到这些内容(脚本或详细说明)?

最佳答案

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

拥有此程序后,请使用以下方法来使用模型:

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_resnet_v2.py中获取这些名称。

之后,您可以致电:output = sess.run(predictions, feed_dict={X:batch_images})

关于python - 如何还原Tensorflow初始检查点文件(ckpt)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39983591/

10-11 06:52