本文是基于VGGNet的图像分类模型而做。通常输出网络结构问题分为两类:CKPT和PD。其中CKPT V2是data包与index两者的集合,为了网络模型的便携性,我们认为CheckPoint V1与freeze掉的PD架构更适合于传播,在此默认大家对图像分类模型已有了解。
话不多说,先放代码:
import tensorflow as tf
from tensorflow.core.protobuf import saver_pb2
model_dir=''
prefix_path=model_dir+'image_model'
meta_file=prefix_path+'.meta'
with tf.Session() as sess:
saver=tf.train.import_meta_graph(meta_file,clear_devices=True)
for op in sess.graph.get_operations():
print(op.name,op.values())
saver.restore(sess,prefix_path)
#注意的是tf.train.Saver里需要指定V1版本
saver2=tf.train.Saver(write_version=saver_pb2.SaverDef.V1)
saver2.save(sess,model_dir+'/ckpt/image_model.ckpt')
按照这个方法执行,下面一坨就是V2,上面是重新生成的V1。