在使用tf来训练模型的时候,难免会出现中断的情况。这时候自然就希望能够将辛辛苦苦得到的中间参数保留下来,不然下次又要重新开始。

保存模型的方法:

#之前是各种构建模型graph的操作(矩阵相乘,sigmoid操作等...)
saver=tf.train.Saver()#生成saver
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())#先对模型进行初始化
#然后将数据丢入模型进行训练blabla
#训练完之后,使用saver.save来保存
saver.save(sess,'save_path\file_name')#file_name如果不存在的话,将会自动创建

将模型保存好以后,载入也比较方便。

saver=tf.train.Saver()
with tf.Session() as sess:
#参数可以进行初始化也可以不进行初始化,即使初始化了,初始化的值也会被restore的值覆盖
sess.run(tf.global_variables_initializer())
saver.restore(sess,'save_path\file_name')#会将已经保存的变量值restore到变量中

使用tensorboard来使训练过程可视化

tensorflow还提供了一个可视化工具,叫tensorboard.启动以后,可以通过网页来观察模型的结构和训练过程中各个参数的变化。

流程如下所示:
1.使用tf.scalar_summary来收集想要显示的变量

2.定义一个summary op,用来汇总多个变量

3.得到一个summary writer,指定写入路径

4.通过summary_str=sess.run()

#由之前的各种运算得到此批数据的loss
loss=......
#使用tf.scalar_summary来收集想要显示的变量,命名为loss
tf.scalar_summary('loss',loss)
#定义一个summary op,用来汇总由scalar_summary记录的所有变量
merged_summary_op=tf.merge_all_summaries()
#生成一个summary writer对象,需要指定写入路径
summary_writer=tf.train.SummaryWriter('/tmp/logdir',sess.graph)
#开始训练,分批喂数据
for i in range(batch_sum):
#使用sess.run来得到merged_summary_op的返回值
summary_str=sess.run(merged_summary_op)
#使用summary writer将运行中的loss值传入
summary_writer.add_summary(summary_str,i)

接下里,程序开始运行之后,到shell中运行:

$ tensorboard --logdir /tmp/logdir

开始运行tensorboard.接下来打开浏览器,进入127.0.0.1:6006 就能够看到loss值在训练中的变化值了。

tensorflow:模型的保存和训练过程可视化的更多相关文章

  1. tensorflow笔记:模型的保存与训练过程可视化

    tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...

  2. tensorflow模型持久化保存和加载

    模型文件的保存 tensorflow将模型保持到本地会生成4个文件: meta文件:保存了网络的图结构,包含变量.op.集合等信息 ckpt文件: 二进制文件,保存了网络中所有权重.偏置等变量数值,分 ...

  3. tensorflow模型持久化保存和加载--深度学习-神经网络

    模型文件的保存 tensorflow将模型保持到本地会生成4个文件: meta文件:保存了网络的图结构,包含变量.op.集合等信息 ckpt文件: 二进制文件,保存了网络中所有权重.偏置等变量数值,分 ...

  4. tensorflow模型的保存与恢复,以及ckpt到pb的转化

    转自 https://www.cnblogs.com/zerotoinfinity/p/10242849.html 一.模型的保存 使用tensorflow训练模型的过程中,需要适时对模型进行保存,以 ...

  5. [翻译] Tensorflow模型的保存与恢复

    翻译自:http://cv-tricks.com/tensorflow-tutorial/save-restore-tensorflow-models-quick-complete-tutorial/ ...

  6. Tensorflow模型变量保存

    Tensorflow:模型变量保存 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 pyt ...

  7. 超详细的Tensorflow模型的保存和加载(理论与实战详解)

    1.Tensorflow的模型到底是什么样的? Tensorflow模型主要包含网络的设计(图)和训练好的各参数的值等.所以,Tensorflow模型有两个主要的文件: a) Meta graph: ...

  8. tensorflow模型的保存与加载

    模型的保存与加载一般有三种模式:save/load weights(最干净.最轻量级的方式,只保存网络参数,不保存网络状态),save/load entire model(最简单粗暴的方式,把网络所有 ...

  9. 三、TensorFlow模型的保存和加载

    1.模型的保存: import tensorflow as tf v1 = tf.Variable(1.0,dtype=tf.float32) v2 = tf.Variable(2.0,dtype=t ...

随机推荐

  1. Android H5混合开发(5):封装Cordova View, 让Fragment、弹框、Activity自由使用Cordova

    近期,有同事咨询如何在Fragment中使用Cordova,看了下Cordova源码,官方并没有提供包含Cordova Webview的Fragment,以供我们继承. 上网查询了一下,也有几篇文章讲 ...

  2. kali linux 开启配置ssh服务

    1.    一.配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修 ...

  3. fastfdfs上传代码

    //上传到FDFS //获取后缀名 String extension = StringUtils.substringAfterLast(file.getOriginalFilename()," ...

  4. 使用Bind提供域名解析服务(反向解析)

    小知识: 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名 ...

  5. Jenkins下载地址

    http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war/ Jenkins插件下载: http://updates.jenkins-ci.org/down ...

  6. 论文阅读 Prefetch-aware fingerprint cache management for data deduplication systems

    论文链接 https://link.springer.com/article/10.1007/s11704-017-7119-0 这篇论文试图解决的问题是在cache 环节之前,prefetch-ca ...

  7. python设置环境变量(临时和永久)

    设置临时环境变量 import os # 设置环境变量 os.environ['WORKON_HOME']="value" # 获取环境变量方法1 os.environ.get(' ...

  8. CSPS模拟 88

    今天我还是个弟弟. 果然唯有AK不可超越.. T1 决策单调性,暴力上整体二分. 极限数据跑的挺快,可是被n<k的脑残测试点qj了.. T2 又是大模拟! T3 想到剩余同种数量的彩球完全等效 ...

  9. 阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

    背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝 ...

  10. 还看不懂同事的代码?Lambda 表达式、函数接口了解一下

    当前时间:2019年 11月 11日,距离 JDK 14 发布时间(2020年3月17日)还有多少天? // 距离JDK 14 发布还有多少天? LocalDate jdk14 = LocalDate ...