TensorBoard(1)开始使用

举报
一颗小树x 发表于 2021/06/18 09:54:08 2021/06/18
【摘要】 在机器学习中,要改经模型的某些参数,通常需要对其进行衡量。TensorBoard是用于提供机器学习工作流程期间所需的测量和可视化的工具。


一、TensorBoard作用

它能跟踪模型指标,例如损失和准确性,可视化模型图,将嵌入物投影到较低维度的空间等等。

 

二、通过Keras Model.fit()使用TensorBoard

2.1 TensorBoard回调函数

当使用Keras Model.fit() 函数训练时,添加tf.keras.callback.TensorBoard回调,可确保创建和存储日志。

在每个时期启用histogram_freq = 的直方图计算功能(默认情况下处于关闭状态)

将日志放在带有时间戳的子目录中,以便轻松选择不同的训练运行。

model = create_model()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

log_dir="logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

model.fit(x=x_train, 
          y=y_train, 
          epochs=5, 
          validation_data=(x_test, y_test), 
          callbacks=[tensorboard_callback])

其中关键代码是 callbacks=[tensorboard_callback]) ,它在model.fit()中的回调接口指定了tensorboard_callback,这样训练过程中会存储日志,后面可以在TensorBoard中可视化查看。

 

2.2 打开TensorBoard

通过命令行终端 或在notebook中启动TensorBoard。

在notebook中,使用%tensorboard 命令:

%tensorboard --logdir logs/fit

在命令行中,运行是不带"%"的,命令基本一样:

tensorboard --logdir logs/fit

打开后如下图所示:

2.3 TensorBoard界面说明

Scalars 显示损失指标在每个时期如何变化;还可以使用它来跟踪训练速度,学习率和其他标量值。

Graphs 帮忙我们可视化模型。它会显示Keras的结构图,便于了解层与层之间的连接关系。

Diatributions Histograms 显示张量随时间的分布。这对于可视化权重和偏差并验证它们是否可以预测的方式变化很有用。

Diatributions 界面如下:

Histograms 界面如下:

小结:

Scalars 显示损失指标在每个时期如何变化;还可以使用它来跟踪训练速度,学习率和其他标量值。

Graphs 帮忙我们可视化模型。它会显示Keras的结构图,便于了解层与层之间的连接关系。

Diatributions Histograms 显示张量随时间的分布。这对于可视化权重和偏差并验证它们是否可以预测的方式变化很有用。

# Load the TensorBoard notebook extension.
%load_ext tensorboard

三、源代码

首先加载tensorboard

# Load the TensorBoard notebook extension.
%load_ext tensorboard

清楚之前的日志(可选)

# Clear any logs from previous runs
rm -rf ./logs/

再执行如下代码:

然后打开tensorboard即可。

在notebook中,使用%tensorboard 命令:%tensorboard --logdir logs/fit

在命令行中,运行是不带"%"的,命令基本一样:tensorboard --logdir logs/fit

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。