持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
注意:本文使用tensorflow1.x版本进行演示
使用本地Jupyter Notebook搭载TensorFlow相关库进行操作
1. Tensorboard可视化
在Tensorflow中,为了更加清楚的理解网络和计算,方便后续的调试与优化,Tensorflow提供了可视化工具TensorBoard,可以查看自己写好的程序可视化效果。
2. 具体可视化操作步骤
2.1 数据序列化:events文件
TensorBoard通过读取Tensorflow的事件文件来运行,需要将数据生成一个序列化的Summary protobuf对象。
具体语法如下所示:
tf.summary.FileWriter(path, graph=sess.graph)
具体代码演示如下所示:
- 在函数中定义可视化
- 将图写入本地生成events文件中
- 保存地址为当前目录下summary目录
- 可视化的图指定为当前自定义图new_sess
- 函数中首先定义两个常量,然后进行加和操作,之后开启会话,最后写入本地生成events文件。
def graph_zidingyi():
"""
自定义图演示
"""
# 自定义图
new_g = tf.Graph()
# 在自己的图中定义数据和操作
with new_g.as_default():
a_new = tf.constant(20)
b_new = tf.constant(30)
c_new = a_new + b_new
print("c_new:\n", c_new)
print("a_new的图属性:\n", a_new.graph)
print("c_new的图属性:\n", c_new.graph)
# 开启new_g的会话
with tf.Session(graph=new_g) as new_sess:
c_new_val = new_sess.run((c_new))
print("c_new_val:\n", c_new_val)
print("new_sess的图属性:\n", new_sess.graph)
# 1. 将图写入本地生成events文件
tf.summary.FileWriter("./summary", graph=new_sess.graph)
return None
运行此函数:
graph_zidingyi()
具体运行结果如下图所示:
并且在当前文件夹生成了summary目录:里面保存了可视化文件,我要我们用tensorboard打开。
然后,在得到events.out.tfevents以后,还需要在命令行窗口(或者是在conda promp中进入到你安装Tensorflow的虚拟环境中)使用Tensorboard打开该文件
若出现cannot assign to operator报错
- 说明没有在命令行中进行指令。
- 注意以下指令不是在python的编辑环境里进行输入
在命令行窗口中,先进入到刚才保存文件的上级目录中。
cd 文件保存上级目录path
然后使用tensroboard打开,注意地址不要加引号否则会出现如下报错:
tensorboard --logdir=./summary/
运行成功得到正确的自定义图,如下所示: