华为云AI开发平台ModelArtsTensorboard的使用_云淘科技

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

TensorBoard能够有效地展示TensorFlow在运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的数据信息。

前提条件

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

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

注意事项

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

在开发环境中创建TensorBoard可视化作业流程

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

Step2 上传Summary数据

Step3 启动TensorBoard

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

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

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

TensorBoard可视化训练作业,当前仅支持基于TensorFlow2.1、Pytorch1.4/1.8以上版本镜像,CPU/GPU规格的资源类型。请根据实际局点支持的镜像和资源规格选择使用。

Step2 上传Summary数据

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

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

Summary数据上传到Notebook路径/home/ma-user/work/下的方式,请参见上传数据至Notebook。
Summary数据如果是通过OBS并行文件系统挂载到Notebook中,请将模型训练时产生的Summary文件先上传到OBS并行文件系统,并确保OBS并行文件系统与ModelArts在同一区域。在Notebook中启动TensorBoard时,Notebook会自动从挂载的OBS并行文件系统目录中读取Summary数据。

Step3 启动TensorBoard

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

图1 JupyterLab中打开TensorBoard的方法

方式1(推荐):

在JupyterLab左侧导航创建名为“summary”的文件夹,将数据上传到“/home/ma-user/work/summary”路径。注:文件夹命名只能为summary否则无法使用。
进入“summary”文件夹,单击方式1,直接进入TensorBoard可视化界面。如图2所示。

图2 TensorBoard界面(1)

方式2:

用户可以自行升级除2.4.0之外的TensorBoard,但需注意升级后只有方式2使用新的TensorBoard,其余方式保持TensorBoard2.1.1不变。

单击方式2进入JupyterLab开发环境中,并自动创建.ipynb文件。
在对话框中输入TensorBoard相应命令,即可展示界面。

%reload_ext ma_tensorboard
%ma_tensorboard  --port {PORT} --logdir {BASE_DIR}

参数解释:

–port {PORT}:指定Web可视化服务端口。可以不设置,默认使用8080端口。如果8080端口被占用了,需要在1~65535任意指定一个端口。
–logdir {BASE_DIR}:表示数据在开发环境中的存储路径

开发环境本地路径:“./work/xxx”(相对路径)或/home/ma-user/work/xxx(绝对路径)
OBS并行文件系统的路径:obs://xxx/

例如:
#Summary数据如果是在开发环境的这个路径下/home/ma-user/work/,执行下面这条命令。
%ma_tensorboard  --port {PORT} --logdir /home/ma-user/work/xxx 
或者
#Summary数据如果是存在OBS并行文件系统中,执行下面这条命令,开发环境会自动挂载该OBS并行文件系统路径并读取数据。
%ma_tensorboard  --port {PORT} --logdir obs://xxx/

图3 TensorBoard界面(2)

方式3:

单击方式3 View -> Activate Command Palette,在搜索框中输入“TensorBoard”,再单击“Create a new TensorBoard”。

图4 Create a new TensorBoard

填写需要查看的Summary数据路径,或者OBS并行文件系统桶的路径。

开发环境本地路径:./summary(相对路径)或/home/ma-user/work/summary(绝对路径)
OBS并行文件系统桶的路径:obs://xxx/

图5 输入Summary数据路径

图6 TensorBoard界面(3)

方式4:

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

tensorboard --logdir ./log 

图7 Terminal方式打开TensorBoard

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

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

更多功能介绍请参见TensorBoard官网资料。

相关操作

关闭TensorBoard方式如下:

方式1:单击下图所示的,进入TensorBoard实例管理界面,该界面记录了所有启动的TensorBoard实例,单击对应实例后面的SHUT DOWN即可停止该实例。

图8 单击SHUT DOWN停该实例

方式2:在开发环境JupyterLab中的.ipynb文件窗口中输入命令,关闭 TensorBoard。PID在启动界面有提示或者通过 ps -ef | grep tensorboard 查看。

!kill PID

方式3:单击下方红框中的按钮可以关闭所有启动的TensorBoard实例。

图9 关闭所有启动的TensorBoard实例

方式4(不推荐):直接在JupyterLab中上关闭TensorBoard窗口,此方式仅关闭可视化窗口,并未关闭后台。

父主题: FAQ

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家