恒源云GPU使用tensorboard || 以OpenMMLab系列为例 || 定时复制可视化日志

序言

在训练过程中使用可视化工具向来是很有效的。相比于shell中的输出,可视化能够更好地向我们展现在训练过程中各项指标的变化。
但是,由于深度学习所需要的设备性能要求较高,我们常常使用云GPU进行训练。但是一些云平台的可视化工具让人摸不着头脑,现在我以OpenMMLab开源视觉算法体系的MMDetection算法库为例,介绍在恒源云中使用TensorBoard。

恒源云TensorBoard的使用方式

恒源云将Tensorboard的日志文件夹绑定在了/tf_log文件夹中,自己无法开启另外的Tensorboard后端,并且即使开启,由于恒源云GPU没有提供公网下的端口,也无法访问到。
恒源云有自己预设的Tensorboard,对于使用者来说,需要做的就是将tensorboard所需的日志输出到/tf_log这个文件夹下,这样之后,就可以在恒源云的实例启动部分开启Tensorboard界面并得到日志可视化结果了。
实例启动界面

但是,在实际情况下我们经常是使用一些更大的,别人写好的框架进行训练,这时如果我们对他们的框架不够熟悉就难以修改Tensorboard所需日志的输出地址,那么我们应该怎么做呢?下面以OpenMMLab为例进行演示。

MMDetection开启Tensorboard

首先,我们可以在OpenMMLab的算法库的文档中找到如何输出一个可视化工具所需要的日志。就是在default_runtime.py中加上TensorBoard这个可视化后端(默认是本地可视化,应该是完了之后手动提取一些信息来可视化用的)。

vis_backends = [dict(type='LocalVisBackend'),dict(type='TensorboardVisBackend')]
visualizer = dict(
    type='DetLocalVisualizer', vis_backends=vis_backends, name='visualizer')

如上,在vis_backends中加上tensorboard可视化后端。
然后,在work_dir的vis_data的输出中就会出现一个可以被tensorboard读取的格式的日志了。
日志
但是,现在的问题是,即使这样,由于恒源云的Tensorboard也读取不到日志,因为不在/tf_logs中。我们可以采取直接的方法。

日志可视化到Tensorboard

这种更加直接的方式就是复制。

cp -r vis_data /tf_logs/

这样再进入恒源云的Tensorboard前端页面就已经有可视化结果了。
但是这样还不够,我们需要能够比较实时地查看训练的效果,当然不能够一直手操。
所以我们可以写一个shell脚本用于每隔30秒复制一次,并且tensorboard的刷新时间也设置为30s,不就可以做到和直接输出到/tf_logs详尽的结果了?

#!/bin/bash

while true; do
    echo "开始复制文件夹..."
    cp -r vis_data /tf_logs/
    echo "文件夹复制完成!"

    echo "等待30秒..."
    sleep 30s
done

在这里插入图片描述

这就是我在面对恒源云的Tensorboard用不成的情况下的解决方案。这种复制的方法虽然很糙,但是想必泛用型也是比较强的,其他的框架或者体系在遇到这种情况的时候也可以靠考虑采用定时复制的方案。
如果你有更好更方便的想法欢迎交流。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早上真好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值