4.1_.jpg

 在深度学习实践中,我们通常要先搭建好模型如何经过长时间的训练才能使用。那么,对于训练好的模型,我们自然想把它保存起来以便调用。
 
 
曾经,我写过一个比较大的深度学习模型,由于每次迭代需要长达1-2个小时,并且用的是nohup在服务器后台上运行,但是鉴于nohup有时会不稳定,因此我的后台程序随时可能会被kill掉,于是我就写了一个定时的模型保存程序,即每隔一定的时间就让其自动保存模型到磁盘文件中去,这样就可以保证即使程序遭到了不可抗拒的终止时,也不会落得前功尽弃的后果。由此可以看出,模型的自动保存是十分重要的。



在Tensorflow中,保存模型最简单的方法是使用tf.train.Saver对象,当我们构造了一个Saver对象以后,调用该对象的save方法即可将我们指定会话中的Tensorflow Graph模型保存到磁盘文件中去;而另一方面,我们可以调用对象的restore方法从磁盘中读取Tensorflow Graph模型。

例如,下面是一个保存模型的示例用法:

4.2_.JPG

 
 
下面是导入模型的方法:

4.3_.JPG

 
 
除此之外,Saver对象还可以自定义保存变量,即指定保存Graph中的某些变量。有了tf.train.Saver对象,再也不用担心训练好的模型丢失了!
 
 
 
 
 
来源: 张泽旺 深度学习每日摘要
智造家