模型保存
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