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)对模型参数的储存与恢复的更多相关文章

  1. 转 Django根据现有数据库,自动生成models模型文件

    Django引入外部数据库还是比较方便的,步骤如下 : 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自 ...

  2. 利用tensorboard可视化checkpoint模型文件参数分布

    写在前面: 上周微调一个文本检测模型seglink,将特征提取层进行冻结,只训练分类回归层,然而查看tensorboard发现里面有histogram显示模型各个参数分布,看了目前这个训练模型参数分布 ...

  3. TF的模型文件

    TF的模型文件 标签(空格分隔): TensorFlow Saver tensorflow模型保存函数为: tf.train.Saver() 当然,除了上面最简单的保存方式,也可以指定保存的步数,多长 ...

  4. TensorFlow 模型文件

    在这篇 TensorFlow 教程中,我们将学习如下内容: TensorFlow 模型文件是怎么样的? 如何保存一个 TensorFlow 模型? 如何恢复一个 TensorFlow 模型? 如何使用 ...

  5. IOS开发UI基础之Plis文件-字典转模型

    什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...

  6. AI tensorflow模型文件

    tensorflow模型可以利用tf.train.Saver类保存成文件.一个模型包含下面四个文件. meta文件 存储计算图的protobuf. data-00000-of-00001文件和inde ...

  7. h5模型文件转换成pb模型文件

      本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换 ...

  8. Away3D 学习笔记(一): 加载3DS格式的模型文件

    加载外部的3DS文件分为两种: 1: 模型与贴图独立于程序的,也就是从外部的文件夹中读取 private function load3DSFile():Loader3D { loader = new ...

  9. TensorFlow基础笔记(9) Tensorboard可视化显示以及查看pb meta模型文件的方法

    参考: http://blog.csdn.net/l18930738887/article/details/55000008 http://www.jianshu.com/p/19bb60b52dad ...

随机推荐

  1. 团队项目-Alpha版本发布1

    此次作业的目的是让同学们在这个星期内完成团队项目α版本的第一次测试和发布,为发布下一次的 α版本做一个准备和前期检验. 1.作业要求: 提交一份α版本冲刺博客 2.博客要求: (1)请大家在作业开头添 ...

  2. 性能测试基础---ant集成1

    ·Jmeter的命令行与ant等的集成.·为什么需要使用Jmeter的命令行模式(Non-GUI).·为了更好的利用负载机的资源.GUI模式会消耗更多的系统资源.·为了更好的掌握jmeter和其它工具 ...

  3. antd快速开发(Form篇)

    antd快速开发(Form篇) 前言 由于一直在做中台业务,后台项目特别多,但是后台项目的特点是:大量的列表和大量表单,重复开发会降低效率,所以我这边总结了一下使用antd组件搭建form的快捷方法. ...

  4. Git工具使用基础

    Git 是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分 ...

  5. java添加新表,接口合成流程必看

    生成代码后 创建模块包 先放入 实体类 然后按照 Controller 改成 然后是 service  后impl 然后是mapper  后xml 然后更新 代码

  6. ESA2GJK1DH1K基础篇: Android实现SmartConfig简单Demo

    下载源码去 百度安信可 导入源码 等待加载完 我的提示更新下软件 ,我就更新下 安装完成以后重新导入工程 安装到手机 注意,由于Android 9.0 以后的获取WIFI名称需要打开GPS,所以如果提 ...

  7. 使用emplace操作

    C++ 11新标准中引入了三个新成员——emplace_front.emplace和emplace_back,这些操作构造而不是拷贝元素.这些操作分别对应push_front.insert和push_ ...

  8. Elasticsearch的null values

    很多时候,我们需要面临null值的烦扰,查询es时传入null值是要查询出null的数据还是不查这个field呢,稍有不慎就会引发新的bug,这的确是个问题! null_value 意味着无法索引或搜 ...

  9. Java 读取和写入文本文件

    package test_java; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStre ...

  10. 【caffe编译】 fatal error: hdf5.h: 没有那个文件或目录

    src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 没有那个文件或目录 查找文件 locate hdf5.h 修改Mak ...