更新时间:2025-03-04 gmt 08:00

在jupyterlab中使用tensorboard可视化作业-九游平台

modelarts支持在开发环境中开启tensorboard可视化工具。tensorboard是tensorflow的可视化工具包,提供机器学习实验所需的可视化功能和工具。tensorboard能够有效地展示训练过程中的计算图、各种指标随时间的变化趋势以及训练中使用到的数据信息,相关概念请参考。

tensorboard可视化工具当前仅支持在pytorch和tensorflow引擎中使用,不支持在mindspore引擎或其他ai引擎中使用。

前提条件

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

tensorflow引擎的训练脚本中添加summary代码,具体方式请参见。

pytorch引擎的训练脚本中添加summary代码,具体方式请参见。

注意事项

  • 运行中的可视化作业不单独计费,当停止notebook实例时,计费停止。
  • summary文件数据如果存放在obs中,由obs单独收费。任务完成后请及时停止notebook实例,清理obs数据,避免产生不必要的费用。

步骤一:创建开发环境并在线打开

在modelarts控制台,进入开发空间 > notebook页面,创建tensorflow或者pytorch镜像的开发环境实例。创建成功后,单击开发环境实例“操作”栏的打开,在线打开运行中的开发环境。

如果待可视化数据目录下内容较多(例如总量为百m级别)时,2u8g的cpu规格实例可能会出现cpu或memory不足的情况,导致notebook实例卡顿无法正常工作,此时建议使用更大规格(例如4u16g)的实例进行可视化操作。具体规格以实际局点支持的资源规格为准。

步骤二:上传summary数据

在开发环境中使用tensorboard可视化功能,需要用到summary数据。如果您已经有生成好的数据,可通过如下两种方式将其上传到notebook中:

  • summary数据如果在本地,可以在notebook左侧文件导航栏下新建目录,并通过拖拽等方式将本地数据上传到notebook该新建目录中,具体请参见上传本地文件至jupyterlab
  • summary数据如果存储在obs中,请确保该obs路径与notebook实例在同一区域。并通过动态挂载功能将该obs路径挂载至notebook中,具体请参见动态挂载obs并行文件系统
图1 notebook中的待可视化的数据

建议将需要可视化的数据上传到单独目录下,如果使用obs挂载功能,建议只挂载可视化数据所在层级的obs路径到notebook,而不是将整个桶都挂载上来进行可视化,避免混杂其他数据导致tensorboard加载变慢,甚至无法正常可视化。

步骤三:启动tensorboard

  1. 在开发环境的jupyterlab中打开launcher页面,然后单击tensorboard图标。
    图2 打开launcher界面
    图3 在launcher中打开tensorboard
  2. 首次单击tensorboard会进入到一个默认的初始化面板,可以从该面板创建tensorboard实例。

    在log dir中填写可视化数据所在的目录,该路径为/home/ma-user/work下的相对路径,填写好后单击右侧“create tensorboard”按钮,如图2 打开launcher界面所示。非首次进入则会直接进入到第一个活跃的tensorboard实例。

    图4 tensorboard插件界面

    参数介绍如下:

    • log dir:默认是单击tensorboard时当前侧边栏的目录,也可以手动填写对应目录,这里建议目录尽可能的细化,目录内容比较少的话会提高初始化速度。
    • multi logdir:支持输入多个目录参数,用逗号分隔,对应原生tensorboard的--logdir_spec参数。tensorboard官方对该功能支持不完善,不推荐使用。
    • reload interval:tensorboard多久对相应目录进行一次重新扫描,这个选项是默认是关闭的,日常使用选择手动reload即可(设置reload interval之后,tensorboard后端持续扫描目录会对jupyterlab的稳定性和文件系统都产生一定的影响)。

    关于该插件的更多功能介绍请参考。

  3. 创建好后的tensorboard可视化展示面板如图5所示。
    • 单击图5中数字1所示按钮,可以在单独的浏览器页签展示可视化面板。
    • 图5数字2中提供了实例管理相关功能,包括重启tensorboard实例(reload),关闭tensorboard实例(destory),复制一个前端可视化面板(duplicated),创建一个新的tensorboard实例(new)。
    • 图5数字3处,可以使用jupyterlab的kernel管理面板管理实例,提供跳转至对应实例和删除等功能。
    图5 创建后的可视化界面

    不建议打开reload interval,避免后台频繁刷新导致notebook实例产生卡顿甚至无法正常使用,需要查看新数据时单击右上角刷新按钮即可。

    不建议使用new按钮创建多个tensorboard实例,该操作可能会导致cpu/memory占用过大,导致notebook实例卡顿甚至无法正常使用等问题。当需要可视化新的目录时,可以先将当前tensorboard实例关闭,再指定新目录创建一个新的tensorboard实例。

步骤四:查看看板中的可视化数据

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

更多功能介绍和用法请参见。

  1. 由于chrome等浏览器的安全限制导致无法从iframe下载数据,当前不支持可视化数据的download data按钮。

  2. 如果可视化面板一直未展示数据,请检查可视化数据目录是否选择正确以及目录下的数据是否完整(请勿随意手工调整或删除部分训练打点产生的summary数据,否则可能无法正常可视化)。
  3. 如果数据正确但一直未成功展示数据(右上角刷新按钮一直在转圈),请打开一个terminal窗口,使用top命令查看cpu占用率等信息,可能是由于数据量过大导致cpu/memory超负荷,建议减少数据量或者更换更大的notebook实例规格。
  4. 如果偶尔显示数据未成功加载,可稍等片刻后单击右上角的刷新按钮,通常情况下可再次正常显示相关数据。

相关文档

网站地图