前面几节已经讲了有关于队列和多线程的内容,内容不多但是却很实用。接下来我们讲一章新的内容:模型持久化。模型持久化的特点:实现模型持久化可以使得模型训练后的结果重复使用,这样既可以节省重复训练模型的时间,又可以提高编程工作的效率,因为遇到稍大的神经网络一般都要训练很多天。
通过代码实现
train.Saver类是Tensorflow提供的用于保存和还原一个神经网络模型的API,使用起来很简单,比如说要持久化一个向量项加,我们可以写成这样的代码:
上面的代码就实现了一个简单的Tensorflow模型持久化的功能。save()函数的sess参数用于指定要保存的模型会话,save_path参数用来指定路径。在代码中,通过Saver类的save()函数将Tensorflow()模型保存在指定路径下的model.ckpt文件中(TensorFlow 模型一般会保存在后缀名为 .ckpt 的文件中,代码中可以省略 . ckpt 后缀名)
如图所示生成了4个文件,其中checkpoint文件是一个文本文件,会被自动更新;其余3个文件都是二进制文件,无法打开。除了保存模型之外,Tensorflow还提供相应的函数来加载保存的模型,例如加载上面向量相加的模型,以下是代码展示: