"玩转TensorFlow与深度学习模型”系列文字教程,本周带来TensorBoard及模型保存
大家在学习和实操过程中,有任何疑问都可以通过学院微信交流群进行提问,有导师和助教、大牛等为您解惑答疑哦。(入群方式在文末)
第七篇的教程主要介绍-使用TensorFlow训练模型的一些相关技巧,包括:
模型变量的保存和恢复
TensorBoard用法
利用 tf.summary 记录数据
可视化计算图
模型变量的保存和恢复
TensorFlow中的提供了表达模型状态的最好的方法,在这一节中,我们将介绍如何保存和恢复变量。
类提供了保存和恢复模型的方法,的构造函数将为计算图中增加和操作。
TensorFlow将变量都存在二进制checkpoint 文件之中,内容基本上就是将变量名称与tensor相对应。
保存变量
使用创建来管理模型中的所有变量,用以下语句保存所有变量:
这个语句表示将这个session中运行的图的所有变量存在路径下。
下面的例子就是将所有的变量存在一个 checkpoint 文件中:
输出为:
恢复变量
不仅仅将变量存到checkpoint文件中,它也可以用来恢复变量,语句是:
如将上面程序部分改为:
输出为:
选择保存和恢复的变量
上述的方式将所有的变量都存储或者读取出来,也支持选择某部分的变量进行储存,构造方式为:
一个变量list
一个Python词典,其中key是变量名称,值就是变量
定义如下计算图:
存储变量:
恢复变量:
TensorBoard用法
TensorBoard 是TensorFlow自带的可视化工具,可以用来可视化定义的计算图,绘制模型训练过程中的相关指标,如正确率等等。
利用 tf.summary 记录数据
被用来导出用于可视化模型的相关数据,支持记录多种类型,其中最常用的就是,用于记录标量,如:
除了以上步骤以外,还需要定义来将对应数据写入文件,以下代码将和写入文件夹:
当需要记录的参数很多的时候,可以使用将所有的记录操作汇总,简化代码。改为使用并且增加记录训练的step后,上述代码变为:
使用以下命令打开:
其中 后面的路径要与 中定义的路径对应。然后打开浏览器,输入
计算图
如果要可视化计算图,可以在定义的时候指明:
或者定义之后添加:
可以通过为变量、placeholder命名,结合使得计算图可视化的时候更加清晰。
完整代码:
参考资料
TensorFlow官网介绍
Stanford CS20SI
TensorFlow与深度学习模型系列教程
加入社群
天学网人工智能学院
培养符合企业需求的实战型AI人才
领取专属 10元无门槛券
私享最新 技术干货