tensorflow的模型保存于读取

源自 https://www.cnblogs.com/denny402/p/6940134.html

在模型的保存部分有两个重要的函数,

第一个 : saver = tf.train.Saver( )

我的理解是: 这行代码大概就相当于实例化;

这个函数有一个很重要的参数,max_to_keep, 这个值决定了你要保存最后几次的模型

可能这样说很难让人理解,其实就是这样;

max_to_keep=1 我们保存最后那次修炼的模型 ( 譬如说我们的 epoch = 10, 那么就只会保存第十次训练的模型)

max_to_keep=10 . 则这10次的模型就都会被保存下来,(然而个人感觉这并没有什么卵用)

现在我们有了一个实例化的object了,我们来用第二个函数

saver.save(sess,'ckpt/mnist.ckpt',global_step=step)

从名字就不难看出来,这行代码的作用就是保存,

第一个参数sess自然就不必多说了, 第二个参数设定保存的路径和名字(保存在ckpt文件夹下,名字为mnist. ckpt)

第三个参数严格意义上来说也是用来命名的,他们将训练的次数作为后缀加入到你的文件名字中

譬如说我们的epoch = 10(我的意思是step = 10)

那么我们执行上面的语句,你ckpt文件夹下的文件就会是这样: mnist-10.ckpt

tensorflow的模型保存于读取

因为不是科班出身,我并没有学过数据库,所以对pointcheck的定义也很含糊,我争取这周简单的看一下这方面的知识然后在回来充分的理解一下。。。。。

在附上我看过的觉得挺好的一篇博客,和大家分享一下https://blog.csdn.net/Laurenitum0716/article/details/79326128

经过上面的两步,我们的模型就保存完毕了,

如果我们想要恢复这个模型,则要用到是restore()函数

我们看到,这个restore一共3个参数,self, sess 自然不必说

第三个参数: save_path指的是保存的模型路径。

我们可以使用tf.train.latest_checkpoint()来自动获取最后一次保存的模型。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ps : open (w--覆盖,a-- 不覆盖)

相关推荐