

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
百度智能云全功能AI开发平台BML-数据模型可视化功能说明
当前BML Notebook已经集成VisualDL工具以实现数据模型可视化,您可在可视化tab中启动VisualDL服务。
VisualDL工具
VisualDL是一个面向深度学习任务设计的可视化工具,利用丰富的图表来展示数据,用户可以更直观、清晰地查看数据的特征与变化趋势,有助于分析数据、及时发现错误,进而改进神经网络模型的设计。目前,VisualDL 支持 scalar, image, audio, graph, histogram, pr curve, high dimensional 七个组件,项目正处于高速迭代中,敬请期待新组件的加入。
| 组件名称 | 展示图表 | 作用 |
|---|---|---|
| Scalar | 折线图 | 动态展示损失函数值、准确率等标量数据 |
| Image | 图片可视化 | 显示图片,可显示输入图片和处理后的结果,便于查看中间过程的变化 |
| Audio | 音频可视化 | 播放训练过程中的音频数据,监控语音识别与合成等任务的训练过程 |
| Graph | 网络结构 | 展示网络结构、节点属性及数据流向,辅助学习、优化网络结构 |
| Histogram | 直方图 | 展示训练过程中权重、梯度等张量的分布 |
| PR Curve | 折线图 | 权衡精度与召回率之间的平衡关系 |
| High Dimensional | 数据降维 | 将高维数据映射到 2D/3D 空间来可视化嵌入,便于观察不同数据的相关性 |
Scalar--标量组件
介绍
Scalar 组件的输入数据类型为标量,该组件的作用是将训练参数以折线图形式呈现。将损失函数值、准确率等标量数据作为参数传入 scalar 组件,即可画出折线图,便于观察变化趋势。
记录接口
Scalar 组件的记录接口如下:
add_scalar(tag, value, step, walltime=None)
接口参数说明如下:
| 参数 | 格式 | 含义 |
|---|---|---|
| tag | string | 记录指标的标志,如train/loss,不能含有% |
| value | float | 要记录的数据值 |
| step | int | 记录的步数 |
| walltime | int | 记录数据的时间戳,默认为当前时间戳 |
*注意tag的使用规则为:
1、第一个/前的为父tag,并作为一栏图片的tag
2、第一个/后的为子tag,子tag的对应图片将显示在父tag下
3、可以使用多次/,但一栏图片的tag依旧为第一个/前的tag
具体使用参见以下三个例子:
创建train为父tag,acc和loss为子tag:train/acc、 train/loss,即创建了tag为train的图片栏,包含acc和loss两张图片:

创建train为父tag,test/acc和test/loss为子tag:train/test/acc、 train/test/loss,即创建了tag为train的图片栏,包含test/acc和test/loss两张图片:

创建两个父tag:
acc、loss,即创建了tag分别为acc和loss的两个图片栏:

Demo
基础使用
下面展示了使用 Scalar 组件记录数据的示例:
from visualdl import LogWriter if __name__ == '__main__': value = [i/1000.0 for i in range(1000)] # 初始化一个记录器 with LogWriter(logdir="./log/scalar_test/train") as writer: for step in range(1000): # 向记录器添加一个tag为`acc`的数据 writer.add_scalar(tag="acc", step=step, value=value[step]) # 向记录器添加一个tag为`loss`的数据 writer.add_scalar(tag="loss", step=step, value=1/(value[step] + 1))
运行上述程序后,点击可视化选择相应日志文件即可查看可视化结果:

多组实验对比
下面展示了使用Scalar组件实现多组实验对比
多组实验对比的实现分为两步:
1、创建子日志文件储存每组实验的参数数据 2、将数据写入scalar组件时,使用相同的tag,即可实现对比不同实验的同一类型参数
from visualdl import LogWriter if __name__ == '__main__': value = [i/1000.0 for i in range(1000)] # 步骤一:创建父文件夹:log与子文件夹:scalar_test with LogWriter(logdir="./log/scalar_test") as writer: for step in range(1000): # 步骤二:向记录器添加一个tag为`train/acc`的数据 writer.add_scalar(tag="train/acc", step=step, value=value[step]) # 步骤二:向记录器添加一个tag为`train/loss`的数据 writer.add_scalar(tag="train/loss", step=step, value=1/(value[step] + 1)) # 步骤一:创建第二个子文件夹scalar_test2 value = [i/500.0 for i in range(1000)] with LogWriter(logdir="./log/scalar_test2") as writer: for step in range(1000): # 步骤二:在同样名为`train/acc`下添加scalar_test2的accuracy的数据 writer.add_scalar(tag="train/acc", step=step, value=value[step]) # 步骤二:在同样名为`train/loss`下添加scalar_test2的loss的数据 writer.add_scalar(tag="train/loss", step=step, value=1/(value[step] + 1))
运行上述程序后,点击可视化选择相应日志文件即可查看以下折线图,观察scalar_test和scalar_test2的accuracy和loss的对比。

功能操作说明
支持数据卡片「最大化」、「还原」、「坐标系转化」(y轴对数坐标)、「下载」折线图

数据点Hover展示详细信息

可搜索卡片标签,展示目标图像

可搜索打点数据标签,展示特定数据

X轴有三种衡量尺度
1、Step:迭代次数
2、Walltime:训练绝对时间
3、Relative:训练时长

可调整曲线平滑度,以便更好的展现参数整体的变化趋势

Image--图片可视化组件
介绍
Image 组件用于显示图片数据随训练的变化。在模型训练过程中,将图片数据传入 Image 组件,就可在 VisualDL 的前端网页查看相应图片。
记录接口
Image 组件的记录接口如下:
add_image(tag, img, step, walltime=None)
接口参数说明如下:
| 参数 | 格式 | 含义 |
|---|---|---|
| tag | string | 记录指标的标志,如train/loss,不能含有推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。 |



湘公网安备43019002001857号
备案号:
客服1