TensorFlow Saver:保存和读取模型参数.ckpt实例

Badia ·
更新时间:2024-11-15
· 672 次阅读

在使用TensorFlow的过程中,保存模型参数变量是很重要的一个环节,既可以保证训练过程信息不丢失,也可以帮助我们在需要快速恢复或使用一个模型的时候,利用之前保存好的参数之间导入,可以节省大量的训练时间。本文通过最简单的例程教大家如何保存和读取.ckpt文件。

一、保存到文件

首先是导入必要的东西:

import tensorflow as tf import numpy as np

随便写几个变量:

# Save to file # remember to define the same dtype and shape when restore W = tf.Variable([[1,2,3],[3,4,5]], dtype=tf.float32, name='weights') b = tf.Variable([[1,2,3]], dtype=tf.float32, name='biases') init= tf.initialize_all_variables()

定义一个saver,来存储我们的各种变量:

saver = tf.train.Saver()

保存的文件用.ckpt后缀:

with tf.Session() as sess: sess.run(init) save_path = saver.save(sess, "my_net/save_net.ckpt") print("Save to path: ", save_path)

上面我们就完成了保存操作。

接下来我们要把之前保存过的变量取出来。

二、取出之前保存的变量

这里要注意,取出时要先开辟一个容器来装,shape和type要和我们之前保存的.ckpt一样。

# restore variables # redefine the same shape and same type for your variables W = tf.Variable(np.arange(6).reshape((2, 3)), dtype=tf.float32, name="weights") b = tf.Variable(np.arange(3).reshape((1, 3)), dtype=tf.float32, name="biases")

restore时,不需要进行init= tf.initialize_all_variables()操作。

利用saver提取文件:

saver = tf.train.Saver() with tf.Session() as sess: saver.restore(sess, "my_net/save_net.ckpt") print("weights:", sess.run(W)) print("biases:", sess.run(b))

结果:

以上这篇TensorFlow Saver:保存和读取模型参数.ckpt实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:TensorFlow 模型载入方法汇总(小结)Tensorflow训练模型越来越慢的2种解决方案tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReadertensorflow2.0保存和恢复模型3种方法关于Tensorflow 模型持久化详解



saver 参数 模型 tensorflow

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章