模型文件(checkpoint)对模型参数的储存与恢复
1. 模型参数的保存:
import tensorflow as tf
w=tf.Variable(0.0,name='graph_w')
ww=tf.Variable(tf.random_normal(shape=(2,3),stddev=0.5),name='graph_ww')
# double=tf.multiply(2.0,w)
saver=tf.train.Saver({'weights_w':w,'weights_ww':ww}) # 此处模型文件关键字可以自己命名,如weights_w与weights_ww
# 关键字所对应的值名字为变量w与ww,而不是graph_w与graph_ww,否则会报错。{'weights_w':w,'weights_ww':ww}为模型文件
# 需要保存的变量,用字典形式书写出来,若无此字典,默认保存全部。
sess=tf.Session()
sess.run(tf.global_variables_initializer())
for i in range(4):
d=sess.run(tf.assign_add(w,2)) # 这一步对w进行计算,得到最后值为8,最终将其保存saver种
# 其中 w 必须为变量名为w,不能是graph中的graph_w,否则会报错
print(d)
print('w=',sess.run(w))
print('ww=',sess.run(ww))
saver.save(sess,'test.ckpt') 2. 模型参数的恢复:
import tensorflow as tf
restore_w=tf.Variable(0.0,name='weights_w')
restore_ww=tf.Variable(tf.random_normal(shape=(2,3),stddev=0.5),name='weights_ww') # 尽管有初始值,但未调用tf.global_variables_initializer()此函数,则不会将其初始值赋值给该变量
# restore_w与restore_ww分别对应保存变量的w与ww的恢复,若想恢复则graph必须是对应保存变量名对应字典的关键字,
# 否则将会报错。即恢复对应变量参数的变量名字可以自己重新命名,但graph中的名字必须是字典关键字。
double=tf.multiply(2.0,restore_w)
saver=tf.train.Saver()
sess=tf.Session()
saver.restore(sess,'test.ckpt')
f=sess.run(double)
print(f)
print('restore_ww=',sess.run(restore_ww))
总结:
① 变量初始化有2种方法,若不调用tf.global_variables_initializer()或tf.variables_initializer()函数就不会将变量restore_ww=tf.Variable(tf.random_normal(shape=(2,3),stddev=0.5),name='weights_ww')
初始化。相反,使用saver.restore()将其变量初始化了。同时,也说明变量初始化才不会报错。
② 模型参数以字典形式保存,其key可自己命名,其value必须为变量(非graph的name)。
③ 模型参数恢复对应变量可以自己命名,但对应变量中graph的name必须是保存模型参数对应变量的关键字(key)。
模型文件(checkpoint)对模型参数的储存与恢复的更多相关文章
- 转 Django根据现有数据库,自动生成models模型文件
		
Django引入外部数据库还是比较方便的,步骤如下 : 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自 ...
 - 利用tensorboard可视化checkpoint模型文件参数分布
		
写在前面: 上周微调一个文本检测模型seglink,将特征提取层进行冻结,只训练分类回归层,然而查看tensorboard发现里面有histogram显示模型各个参数分布,看了目前这个训练模型参数分布 ...
 - TF的模型文件
		
TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...
 - TensorFlow 模型文件
		
在这篇 TensorFlow 教程中,我们将学习如下内容: TensorFlow 模型文件是怎么样的? 如何保存一个 TensorFlow 模型? 如何恢复一个 TensorFlow 模型? 如何使用 ...
 - IOS开发UI基础之Plis文件-字典转模型
		
什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...
 - AI tensorflow模型文件
		
tensorflow模型可以利用tf.train.Saver类保存成文件.一个模型包含下面四个文件. meta文件 存储计算图的protobuf. data-00000-of-00001文件和inde ...
 - h5模型文件转换成pb模型文件
		
本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换 ...
 - Away3D 学习笔记(一): 加载3DS格式的模型文件
		
加载外部的3DS文件分为两种: 1: 模型与贴图独立于程序的,也就是从外部的文件夹中读取 private function load3DSFile():Loader3D { loader = new ...
 - TensorFlow基础笔记(9) Tensorboard可视化显示以及查看pb meta模型文件的方法
		
参考: http://blog.csdn.net/l18930738887/article/details/55000008 http://www.jianshu.com/p/19bb60b52dad ...
 
随机推荐
- 201671010450-姚玉婷-实验十四  团队项目评审&课程学习总结
			
项目 内容 所属科目 软件工程http://www.cnblogs.com/nwnu-daizh 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11093584. ...
 - Scrapy笔记09- 部署
			
Scrapy笔记09- 部署 本篇主要介绍两种部署爬虫的方案.如果仅仅在开发调试的时候在本地部署跑起来是很容易的,不过要是生产环境,爬虫任务量大,并且持续时间长,那么还是建议使用专业的部署方法.主要是 ...
 - Spring和SpringMVC总结篇
			
作者:肥宅兜链接:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1.为什么使用Spring ? 方便解耦,简化开发;通过Spring提供的Io ...
 - qt中设置窗口左上角的图标
			
前面一节已经详细的讲解了怎么添加图片到qt的图片资源文件中,这里就不赘述了,不太了解的可以看看博主的这篇随笔:qt中建立图片资源管理文件 this->setWindowIcon(QIcon(&q ...
 - nodejs进程管理
			
NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用. 我们已经知道了Node ...
 - css 水平垂直居中两种常用方式
 - C实现Linux中copy功能
			
/* mycp.c */ #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<f ...
 - kali linux 更换镜像源
			
编辑sources.list文件 leafpad /etc/apt/sources.list #aliyun 阿里云 deb http://mirrors.aliyun.com/kali kali-r ...
 - SUSE12.2 添加ISO为源
			
152 2019-05-16 16:40:13 mkdir /mnt/DVD1 153 2019-05-16 16:40:55 mount -o loop /root/SLE-12-SP2-Serve ...
 - mysql 基本操作 一
			
1.mysql 管理语句 1)展示数据库列表 mysql> show databases; +--------------------+ | Database | +-------------- ...