更新时间:2022-03-31 GMT+08:00
分享

TensorBoard可视化作业

ModelArts支持在开发环境中开启TensorBoard可视化工具。TensorBoard是TensorFlow的可视化工具包,提供机器学习实验所需的可视化功能和工具。

TensorBoard能够有效地展示TensorFlow在运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的数据信息。TensorBoard当前只支持基于TensorFlow2.1以上版本引擎的训练作业。TensorBoard相关概念请参考TensorBoard官网

前提条件

为了保证训练结果中输出Summary文件,在编写训练脚本时,您需要在脚本中添加收集Summary相关代码。

TensorFlow引擎的训练脚本中添加Summary代码,具体方式请参见TensorFlow官方网站

注意事项

  • 请将模型训练时产生的Summary文件上传到OBS并行文件系统,并确保OBS并行文件系统与ModelArts在同一区域。
  • 运行中的可视化作业不单独计费,当停止Notebook实例时,计费停止。
  • 数据存放在OBS中,由OBS单独收费。任务完成后请及时停止Notebook实例,清理OBS数据,避免产生不必要的费用。

Step1 创建开发环境并在线打开

在ModelArts控制台,进入开发环境> Notebook新版页面,创建TensorFlow或者PyTorch镜像的开发环境实例。创建成功后,单击开发环境实例操作栏右侧的打开 > 打开Notebook,在线打开运行中的开发环境。

开发环境的PyTorch镜像中也预置了TensorFlow引擎,所以支持创建TensorBoard可视化作业。

图1 支持TensorBoard的开发环境镜像

Step2 上传Summary数据

在开发环境中使用TensorBoard可视化功能,需要用到Summary数据。

Summary数据可以直接传到开发环境的这个路径下/home/ma-user/work/,也可以放到OBS并行文件系统中。

建议将Summary数据存放在OBS并行文件系统中,在开发环境中启动TensorBoard时,开发环境会自动挂载OBS并行文件系统目录读取Summary数据。

Step3 启动TensorBoard

在开发环境的JupyterLab中打开TensorBoard有多种方法。可根据使用习惯选择。

图2 JupyterLab中打开TensorBoard的方法

方式1:

  1. 单击入口1进入JupyterLab开发环境中,并自动创建.ipynb文件。
  2. 在对话框中输入TensorBoard相应命令,即可展示界面。
    %reload_ext tensorboard
    %tensorboard  --port {PORT} --logdir {BASE_DIR}

    参数解释:

    • --port {PORT}:指定Web可视化服务端口。可以不设置,默认使用8080端口。如果8080端口被占用了,需要在1~65535任意指定一个端口。
    • --logdir {BASE_DIR}:表示数据在开发环境中的存储路径
      • OBS并行文件系统的路径:obs://xxx/
      • 开发环境本地路径:“./work/xxx”(相对路径)或/home/ma-user/work/xxx(绝对路径)
    例如:
    #Summary数据如果是存在OBS并行文件系统中,执行下面这条命令,开发环境会自动挂载该OBS并行文件系统路径并读取数据。
    %tensorboard  --port {PORT} --logdir obs://xxx/
    或者
    #Summary数据如果是在开发环境的这个路径下/home/ma-user/work/,执行下面这条命令。
    %tensorboard  --port {PORT} --logdir /home/ma-user/work/xxx 
    图3 TensorBoard界面(1)

方式2:

单击入口2,直接进入TensorBoard可视化界面。

默认读取路径/home/ma-user/work/

当存在两个以及以上工程的log时,界面如下。可以在左侧Runs栏目下选择查看相对应的log。

图4 TensorBoard界面(2)

方式3:

  1. 单击入口3,在搜索框中输入“TensorBoard”,再单击“Create a new TensorBoard”
    图5 Create a new TensorBoard
  2. 填写需要查看的Summary数据路径,或者OBS并行文件系统桶的路径。
    • 开发环境本地路径:./summary(相对路径)或/home/ma-user/work/summary(绝对路径)
    • OBS并行文件系统桶的路径:obs://xxx/
    图6 输入Summary数据路径
    图7 TensorBoard界面(3)

方式4:

单击入口4 ,输入命令执行,但启动后不能显示UI界面。

tensorboard --logdir ./log 
图8 Terminal方式打开TensorBoard

Step4 查看训练看板中的可视化数据

训练看板是TensorBoard的可视化组件的重要组成部分,而训练看板的标签包含:标量可视化、图像可视化和计算图可视化等。

更多功能介绍请参见TensorBoard官网资料:开始使用 TensorBoard | TensorFlow (google.cn)

相关操作

关闭TensorBoard方式如下:

  • 方式1:在云上开发环境JupyterLab中的.ipynb文件窗口中输入命令,关闭 TensorBoard。PID在启动界面有提示或者通过 ps -ef | grep tensorboard 查看。
    !kill PID
  • 方式2:单击下方,进入TensorBoard实例管理界面,该界面记录了所有启动的TensorBoard实例,单击对应实例后面的SHUT DOWN即可停止该实例。
    图9 单击SHUT DOWN停该实例
  • 方式3:单击下方红框中的的按钮可以关闭所有启动的TensorBoard实例。
    图10 关闭所有启动的TensorBoard实例
  • 方式4(不推荐):直接在JupyterLab中上关闭TensorBoard窗口,此方式仅关闭可视化窗口,并未关闭后台。
分享:

    相关文档

    相关产品

close