tensorflow1.x模型保存和加载

模型保存

saver = tf.train.Saver() # 在构建网络后使用
saver.save(sess,"./checkpoint_dir/MyModel")

保存的模型包括四个文件:
checkpoint
MyModel.meta
MyModel.data-00000-of-00001
MyModel.index

checkpoint文件

该文件是个文本文件,可通过文本编辑器查看,里面记录了保存的最新的checkpoint文件以及其它checkpoint文件列表。在inference时,可以通过修改这个文件,指定使用哪个model。

meta文件

MyModel.meta文件保存的是图结构,meta文件是pb(protocol buffer)格式文件,包含变量、op、集合等。

ckpt文件

早期tf版本中保存为一个ckpt文件,ckpt文件是二进制文件,保存了所有的weights、biases、gradients等变量。在tensorflow 0.11之前,保存在**.ckpt**文件中。0.11后,通过两个文件保存,包括:
MyModel.data-00000-of-00001
MyModel.index

构建网络并加载权重

当用自己的代码训练模型后,就可以在构建的网络基础上加载模型权重进行推理,这样不用加载模型网络图结构, 要在当前会话sess中加载。

saver = tf.train.Saver() # 或在下面的
#saver = tf.train.import_meta_graph('./checkpoint_dir/MyModel-1000.meta')
saver.restore(sess, tf.train.latest_checkpoint('./checkpoint_dir'))

参考:
https://blog.csdn.net/huachao1001/article/details/78501928
https://blog.csdn.net/sjtuxx_lee/article/details/82663394

你可能感兴趣的:(tensorflow)