TensorFlow实战应用——Google深度学习框架的TensorBoard

为了更方便 TensorFlow 的建模和调优,Google 还为 TensorFlow 开发了一款可视化的工具:TensorBoard,将我们第一个Demo的代码(https://blog.csdn.net/weixin_43838785/article/details/104433283)稍微改造一下,就可以使用 TensorBoard更加直观的理解 TensorFlow 的训练过程。


import tensorflow as tf

# 创建节点时设置name,方便在图中识别
W = tf.Variable([0], dtype=tf.float32, name='W')
b = tf.Variable([0], dtype=tf.float32, name='b')

# 创建节点时设置name,方便在图中识别
x = tf.placeholder(tf.float32, name='x')
y = tf.placeholder(tf.float32, name='y')

# 线性模型
linear_model = W * x + b

# 损失模型隐藏到loss-model模块
with tf.name_scope("loss-model"):
    loss = tf.reduce_sum(tf.square(linear_model - y))
    # 给损失模型的输出添加scalar,用来观察loss的收敛曲线
    tf.summary.scalar("loss", loss)

optmizer = tf.train.GradientDescentOptimizer(0.001)

train = optmizer.minimize(loss)

x_train = [1, 2, 3, 6, 8]
y_train = [4.8, 8.5, 10.4, 21.0, 25.3]


sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

# 调用 merge_all() 收集所有的操作数据
merged = tf.summary.merge_all()

# 模型运行产生的所有数据保存到 /tmp/tensorflow 文件夹供 TensorBoard 使用
writer = tf.summary.FileWriter('/tmp/tensorflow', sess.graph)

# 训练10000次
for i in range(10000):
    # 训练时传入merge
    summary, _ = sess.run([merged, train], {x: x_train, y: y_train})
    # 收集每次训练产生的数据
    writer.add_summary(summary, i)

curr_W, curr_b, curr_loss = sess.run(
    [W, b, loss], {x: x_train, y: y_train})

print("After train W: %s b %s loss: %s" % (curr_W, curr_b, curr_loss))




运行完上面的代码后,训练过程产生的数据就保存在 /tmp/tensorflow 文件夹了,我们可以在命令行终端运行下面的命令启动 TensorBoard:
Tensorflow【实战Google深度学习框架】—TensorBoard_人工智能



# 通过 --logdir 参数设置我们存放训练数据的目录
$ tensorboard --logdir /tmp/tensorflow


Tensorflow【实战Google深度学习框架】—TensorBoard_人工智能_02
然后在浏览器中打开 http://localhost:6006 页面就可以看到我们的模型数据了。
(这个本地服务器不绝对,根据你运行tensorboard --logdir /tmp/tensorflow输出的最后一行的提示,copy paste就可以)
首先在
SCALARS 页面我们可以看到我们通过 tf.summary.scalar(“loss”, loss)设置的loss收敛曲线,从曲线图中可以看出在训练了大概2000次的时候loss就已经收敛的差不多了。
Tensorflow【实战Google深度学习框架】—TensorBoard_深度学习_03

GRAPHS 页面可以看到我们构建的模型的数据流图:
Tensorflow【实战Google深度学习框架】—TensorBoard_深度学习_04

其中损失模型折叠到loss-model模块里了,双击该模块可以展开损失模型的内容:
Tensorflow【实战Google深度学习框架】—TensorBoard_深度学习_05
– end –


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空