TensorFlow Saver:保存和读取模型参数.ckpt实例
在使用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加载模型时出错的解决方式
当发现目录时出错如下: \windows\tensorflow\core\framework\op_kernel.cc:993] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for params_cifar.ckpt 在Windows下要把目录写对才可以. 比如 default='tmp' 要写成这样 default='./tmp' 这样TF就找到相应的目录了.
-
TensorFlow入门使用 tf.train.Saver()保存模型
关于模型保存的一点心得 saver = tf.train.Saver(max_to_keep=3) 在定义 saver 的时候一般会定义最多保存模型的数量,一般来说,如果模型本身很大,我们需要考虑到硬盘大小.如果你需要在当前训练好的模型的基础上进行 fine-tune,那么尽可能多的保存模型,后继 fine-tune 不一定从最好的 ckpt 进行,因为有可能一下子就过拟合了.但是如果保存太多,硬盘也有压力呀.如果只想保留最好的模型,方法就是每次迭代到一定步数就在验证集上计算一次 accurac
-
TensorFlow 模型载入方法汇总(小结)
一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 参数名称 功能说明 默认值 var_list Saver中存储变量集合 全局变量集合 reshape 加载时是否恢复变量形状 True sharded 是否将变量轮循放在所有设备上 True max_to_keep 保留最近检查点个数 5 restore_sequentially 是否按顺序恢复变量,模型较大时顺序恢复内存消耗小 True var_list是字典
-
Tensorflow训练模型越来越慢的2种解决方案
1 解决方案 [方案一] 载入模型结构放在全局,即tensorflow会话外层. '''载入模型结构:最关键的一步''' saver = tf.train.Saver() '''建立会话''' with tf.Session() as sess: for i in range(STEPS): '''开始训练''' _, loss_1, acc, summary = sess.run([train_op_1, train_loss, train_acc, summary_op], feed_dic
-
TensorFlow 读取CSV数据的实例
TensorFlow 读取CSV数据原理在此就不做详细介绍,直接通过代码实现: 方法一: 详细读取tf_read.csv 代码 #coding:utf-8 import tensorflow as tf filename_queue = tf.train.string_input_producer(["/home/yongcai/tf_read.csv"]) reader = tf.TextLineReader() key, value = reader.read(filename_q
-
TensorFlow实现保存训练模型为pd文件并恢复
TensorFlow保存模型代码 import tensorflow as tf from tensorflow.python.framework import graph_util var1 = tf.Variable(1.0, dtype=tf.float32, name='v1') var2 = tf.Variable(2.0, dtype=tf.float32, name='v2') var3 = tf.Variable(2.0, dtype=tf.float32, name='v3')
-
TensorFlow Saver:保存和读取模型参数.ckpt实例
在使用TensorFlow的过程中,保存模型参数变量是很重要的一个环节,既可以保证训练过程信息不丢失,也可以帮助我们在需要快速恢复或使用一个模型的时候,利用之前保存好的参数之间导入,可以节省大量的训练时间.本文通过最简单的例程教大家如何保存和读取.ckpt文件. 一.保存到文件 首先是导入必要的东西: import tensorflow as tf import numpy as np 随便写几个变量: # Save to file # remember to define the same d
-
tensorflow saver 保存和恢复指定 tensor的实例讲解
在实践中经常会遇到这样的情况: 1.用简单的模型预训练参数 2.把预训练的参数导入复杂的模型后训练复杂的模型 这时就产生一个问题: 如何加载预训练的参数. 下面就是我的总结. 为了方便说明,做一个假设:简单的模型只有一个卷基层,复杂模型有两个. 卷积层的实现代码如下: import tensorflow as tf # PS:本篇的重担是saver,不过为了方便阅读还是说明下参数 # 参数 # name:创建卷基层的代码这么多,必须要函数化,而为了防止变量冲突就需要用tf.name_scope
-
tensorflow 只恢复部分模型参数的实例
我就废话不多说了,直接上代码吧! import tensorflow as tf def model_1(): with tf.variable_scope("var_a"): a = tf.Variable(initial_value=[1, 2, 3], name="a") vars = [var for var in tf.trainable_variables() if var.name.startswith("var_a")] prin
-
基于pytorch的保存和加载模型参数的方法
当我们花费大量的精力训练完网络,下次预测数据时不想再(有时也不必再)训练一次时,这时候torch.save(),torch.load()就要登场了. 保存和加载模型参数有两种方式: 方式一: torch.save(net.state_dict(),path): 功能:保存训练完的网络的各层参数(即weights和bias) 其中:net.state_dict()获取各层参数,path是文件存放路径(通常保存文件格式为.pt或.pth) net2.load_state_dict(torch.loa
-
python深度学习TensorFlow神经网络模型的保存和读取
目录 之前的笔记里实现了softmax回归分类.简单的含有一个隐层的神经网络.卷积神经网络等等,但是这些代码在训练完成之后就直接退出了,并没有将训练得到的模型保存下来方便下次直接使用.为了让训练结果可以复用,需要将训练好的神经网络模型持久化,这就是这篇笔记里要写的东西. TensorFlow提供了一个非常简单的API,即tf.train.Saver类来保存和还原一个神经网络模型. 下面代码给出了保存TensorFlow模型的方法: import tensorflow as tf # 声明两个变量
-
Pytorch模型参数的保存和加载
目录 一.前言 二.参数保存 三.参数的加载 四.保存和加载整个模型 五.总结 一.前言 在模型训练完成后,我们需要保存模型参数值用于后续的测试过程.由于保存整个模型将耗费大量的存储,故推荐的做法是只保存参数,使用时只需在建好模型的基础上加载. 通常来说,保存的对象包括网络参数值.优化器参数值.epoch值等.本文将简单介绍保存和加载模型参数的方法,同时也给出保存整个模型的方法供大家参考. 二.参数保存 在这里我们使用 torch.save() 函数保存模型参数: import torch pa
-
解决tensorflow模型参数保存和加载的问题
终于找到bug原因!记一下:还是不熟悉平台的原因造成的! Q:为什么会出现两个模型对象在同一个文件中一起运行,当直接读取他们分开运行时训练出来的模型会出错,而且总是有一个正确,一个读取错误? 而 直接在同一个文件又训练又重新加载模型预测不出错,而且更诡异的是此时用分文件里的对象加载模型不会出错? model.py,里面含有 ModelV 和 ModelP,另外还有 modelP.py 和 modelV.py 分别只含有 ModelP 和 ModeV 这两个对象,先使用 modelP.py 和 m
-
TensorFlow利用saver保存和提取参数的实例
在训练循环中,定期调用 saver.save() 方法,向文件夹中写入包含了当前模型中所有可训练变量的 checkpoint 文件. saver.save(sess, FLAGS.train_dir, global_step=step) global_step是训练的第几步 保存参数: import tensorflow as tf W = tf.Variable([[1, 2, 3]], dtype=tf.float32) b = tf.Variable([[1]], dtype=tf.flo
-
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
使用tf.trian.NewCheckpointReader(model_dir) 一个标准的模型文件有一下文件, model_dir就是MyModel(没有后缀) checkpoint Model.meta Model.data-00000-of-00001 Model.index import tensorflow as tf import pprint # 使用pprint 提高打印的可读性 NewCheck =tf.train.NewCheckpointReader("model&quo
随机推荐
- php json转换成数组形式代码分享
- 使用 iisweb.vbs start 启动网站的方法
- CentOS7系统下用YUM安装Nginx详解
- JS中的==运算: [''] == false —>true
- 深入理解JavaScript系列(36):设计模式之中介者模式详解
- PHP设计模式之工厂模式实例总结
- Android编程布局控件之AbsoluteLayout用法实例分析
- 深入剖析Python的爬虫框架Scrapy的结构与运作流程
- python中bisect模块用法实例
- 十、会话状态
- C++中指针的数据类型和运算相关知识小结
- android读写sd卡操作写入数据读取数据示例
- MySQL存储过程例子(包含事务,输出参数,嵌套调用)
- 一个可复用的vue分页组件
- 基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
- jquery中ajax调用json数据的使用说明
- Android模糊处理简单实现毛玻璃效果
- 俄罗斯黑客让倒计时器停滞,Vista已经完美破解附破解软件
- WPF InkCanvas基本操作方法详解
- laradock环境docker-compose操作详解