我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里申请百度智能云VIP帐号,立即体验BML>>>

百度智能云全功能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)

接口参数说明如下:

参数格式含义
tagstring记录指标的标志,如train/loss,不能含有%
valuefloat要记录的数据值
stepint记录的步数
walltimeint记录数据的时间戳,默认为当前时间戳

*注意tag的使用规则为:

1、第一个/前的为父tag,并作为一栏图片的tag
2、第一个/后的为子tag,子tag的对应图片将显示在父tag下
3、可以使用多次/,但一栏图片的tag依旧为第一个/前的tag

具体使用参见以下三个例子:

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

1.jpeg

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

2.png

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

3.png

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))

运行上述程序后,点击可视化选择相应日志文件即可查看可视化结果:

4.png

  • 多组实验对比

下面展示了使用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的对比。

5.png

功能操作说明

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

6.png

  • 数据点Hover展示详细信息

7.png

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

8.png

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

9.png

  • X轴有三种衡量尺度

1、Step:迭代次数
2、Walltime:训练绝对时间
3、Relative:训练时长

10.png

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

11.png

Image--图片可视化组件

介绍

Image 组件用于显示图片数据随训练的变化。在模型训练过程中,将图片数据传入 Image 组件,就可在 VisualDL 的前端网页查看相应图片。

记录接口

Image 组件的记录接口如下:

add_image(tag, img, step, walltime=None)

接口参数说明如下:

参数格式含义
tagstring记录指标的标志,如train/loss,不能含有推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。 

我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线