相关链接:

【一】AI Studio 项目详解【(一)VisualDL工具、环境使用说明、脚本任务、图形化任务、在线部署及预测】PARL_汀、的博客-CSDN博客

isualDL 是一个面向深度学习任务设计的可视化工具。VisualDL 利用了丰富的图表来展示数据,用户可以更直观、清晰地查看数据的特征与变化趋势,有助于分析数据、及时发现错误,进而改进神经网络模型的设计。

目前,VisualDL 支持 scalar, image, audio, graph, histogram, pr curve, high dimensional 七个组件.

组件名称 展示图表 作用
Scalar 折线图 动态展示损失函数值、准确率等标量数据
Image 图片可视化 显示图片,可显示输入图片和处理后的结果,便于查看中间过程的变化
Audio 音频播放 播放训练过程中的音频数据,监控语音识别与合成等任务的训练过程
Graph 网络结构 展示网络结构、节点属性及数据流向,辅助学习、优化网络结构
Histogram 直方图 展示训练过程中权重、梯度等张量的分布
PR Curve 折线图 权衡精度与召回率之间的平衡关系,便于选择最佳阈值
High Dimensional 数据降维 将高维数据映射到 2D/3D 空间来可视化嵌入,便于观察不同数据的相关性

1.在训练程序使用添加如下:

  1. from visualdl import LogWriter
  2. #参数记录参考,程序中填写参考这个
  3. """
  4. def train():
  5. writer=LogWriter("./log/scalar_test")
  6. writer1=LogWriter("./log/scalar_test1")
  7. writer.add_scalar(tag="train/loss", step=global_step, value=loss_avg)
  8. writer1.add_scalar(tag="train/precision", step=global_step, value=precision)
  9. writer1.add_scalar(tag="train/recall", step=global_step, value=recall)
  10. writer1.add_scalar(tag="train/f1", step=global_step, value=f1)
  11. with LogWriter(logdir="paddle_lenet_log/lr0.001") as writer:
  12. # 使用scalar组件记录一个标量数据
  13. if step % 10 == 0:
  14. # add scalar
  15. writer.add_scalar(tag="train/loss", step=step, value=cost)
  16. writer.add_scalar(tag="train/acc", step=step, value=accuracy)
  17. """

分别记录loss、F1等指标

2.在本地执行相关指令、多个记录器

添加两个记录器

  1. from visualdl import LogWriter
  2. if __name__ == '__main__':
  3. value = [i/1000.0 for i in range(1000)]
  4. # 初始化一个记录器
  5. with LogWriter(logdir="./log/scalar_test/train") as writer:
  6. for step in range(1000):
  7. # 向记录器添加一个tag为`acc`的数据
  8. writer.add_scalar(tag="acc", step=step, value=value[step])
  9. # 向记录器添加一个tag为`loss`的数据
  10. writer.add_scalar(tag="loss", step=step, value=1/(value[step] + 1))

终端指令:

#在命令行执行:

  1. visualdl --logdir ./log --port 8080

# 路径:(paddlenlp) C:\Users\admin\Desktop\nlp>visualdl --logdir ./log --port 8080   在log文件夹前执行

add_scalar(tag, value, step, walltime=None)

tag string  记录指标的标志,如train/loss,不能含有%

value   float   要记录的数据值

step    int 记录的步数

walltime    int 记录数据的时间戳,默认为当前时间戳

  1. from visualdl import LogWriter
  2. if __name__ == '__main__':
  3. value = [i/1000.0 for i in range(1000)]
  4. # 步骤一:创建父文件夹:log与子文件夹:scalar_test
  5. with LogWriter(logdir="./log/scalar_test") as writer:
  6. for step in range(1000):
  7. # 步骤二:向记录器添加一个tag为`train/acc`的数据
  8. writer.add_scalar(tag="train/acc", step=step, value=value[step])
  9. # 步骤二:向记录器添加一个tag为`train/loss`的数据
  10. writer.add_scalar(tag="train/loss", step=step, value=1/(value[step] + 1))
  11. # 步骤一:创建第二个子文件夹scalar_test2
  12. value = [i/500.0 for i in range(1000)]
  13. with LogWriter(logdir="./log/scalar_test2") as writer:
  14. for step in range(1000):
  15. # 步骤二:在同样名为`train/acc`下添加scalar_test2的accuracy的数据
  16. writer.add_scalar(tag="train/acc", step=step, value=value[step])
  17. # 步骤二:在同样名为`train/loss`下添加scalar_test2的loss的数据
  18. writer.add_scalar(tag="train/loss", step=step, value=1/(value[step] + 1))

3.PR Curve--PR曲线组件

  1. from visualdl import LogWriter
  2. import numpy as np
  3. with LogWriter("./log/pr_curve_test/train") as writer:
  4. for step in range(3):
  5. labels = np.random.randint(2, size=100)
  6. predictions = np.random.rand(100)
  7. writer.add_pr_curve(tag='pr_curve',
  8. labels=labels,
  9. predictions=predictions,
  10. step=step,
  11. num_thresholds=5)

PR Curve以折线图形式呈现精度与召回率的权衡分析,清晰直观了解模型训练效果,便于分析模型是否达到理想标准。

4.High Dimensional--数据降维组件

  1. if __name__ == '__main__':
  2. hot_vectors = [
  3. [1.3561076367500755, 1.3116267195134017, 1.6785401875616097],
  4. [1.1039614644440658, 1.8891609992484688, 1.32030488587171],
  5. [1.9924524852447711, 1.9358920727142739, 1.2124401279391606],
  6. [1.4129542689796446, 1.7372166387197474, 1.7317806077076527],
  7. [1.3913371800587777, 1.4684674577930312, 1.5214136352476377]]
  8. labels = ["label_1", "label_2", "label_3", "label_4", "label_5"]
  9. # 初始化一个记录器
  10. with LogWriter(logdir="./log/high_dimensional_test/train") as writer:
  11. # 将一组labels和对应的hot_vectors传入记录器进行记录
  12. writer.add_embeddings(tag='default',
  13. labels=labels,
  14. hot_vectors=hot_vectors)

5.HyperParameters--超参可视化组件

  1. from visualdl import LogWriter
  2. # 此demo演示了两次实验的超参数记录,以第一次实验数据为例,首先在`add_hparams`接口中记录
  3. # 超参数`hparams`的数据,再标定了稍后要记录的`metrics`名称,最后通过`add_scalar`再具体
  4. # 记录`metrics`的数据。此处需注意`add_hparams`接口中的`metrics_list`参数需要包含`add_scalar`
  5. # 接口的`tag`参数。
  6. if __name__ == '__main__':
  7. # 记录第一次实验数据
  8. with LogWriter('./log/hparams_test/train/run1') as writer:
  9. # 记录hparams数值和metrics名称
  10. writer.add_hparams(hparams_dict={'lr': 0.1, 'bsize': 1, 'opt': 'sgd'},
  11. metrics_list=['hparam/accuracy', 'hparam/loss'])
  12. # 通过将add_scalar接口中的tag与metrics名称对应,记录一次实验中不同step的metrics数值
  13. for i in range(10):
  14. writer.add_scalar(tag='hparam/accuracy', value=i, step=i)
  15. writer.add_scalar(tag='hparam/loss', value=2*i, step=i)
  16. # 记录第二次实验数据
  17. with LogWriter('./log/hparams_test/train/run2') as writer:
  18. # 记录hparams数值和metrics名称
  19. writer.add_hparams(hparams_dict={'lr': 0.2, 'bsize': 2, 'opt': 'relu'},
  20. metrics_list=['hparam/accuracy', 'hparam/loss'])
  21. # 通过将add_scalar接口中的tag与metrics名称对应,记录一次实验中不同step的metrics数值
  22. for i in range(10):
  23. writer.add_scalar(tag='hparam/accuracy', value=1.0/(i+1), step=i)
  24. writer.add_scalar(tag='hparam/loss', value=5*i, step=i)

paddle之visualDL工具使用,可视化利器。的更多相关文章

  1. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    大数据时代的图表可视化利器——highcharts,D3和百度的echarts https://blog.csdn.net/minidrupal/article/details/42153941   ...

  2. 可视化利器Visdom

    可视化利器Visdom 最近在使用Pytorch炼丹,单纯地看命令行输出已经无法满足调试的需求,尝试了facebook开源的visdom,感觉非常优雅,支持numpy和torch 安装 $ pip i ...

  3. 【可视化】DataV接入ECharts图表库 可视化利器强强联手

    DataV接入ECharts图表库 可视化利器强强联手 摘要: 两个扛把子级产品的结合,而且文末有彩蛋. DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化 ...

  4. 【python可视化系列】python数据可视化利器--pyecharts

    学可视化就跟学弹吉他一样,刚开始你会觉得自己弹出来的是噪音,也就有了在使用python可视化的时候,总说,我擦,为啥别人画的图那么溜: [python可视化系列]python数据可视化利器--pyec ...

  5. [工具.tfs]可视化的TFS命令工具——Team Foundation Sidekicks

    工具介绍:http://www.attrice.info/cm/tfs/index.htm Team Foundation Sidekicks is a suite of tools for Micr ...

  6. NuGet命令行工具和可视化工具

    Nuget出了命令行工具之外,还有一个可视化工具,下载地址如下: 命令行(推荐官网下载,有中文提示!):https://dist.nuget.org/index.html 可视化(简单.方便.易用): ...

  7. 剖析管理所有大数据组件的可视化利器:Hue

    日常的大数据使用都是在服务器命令行中进行的,可视化功能仅仅依靠各个组件自带的web界面来实现,不同组件对应不同的端口号,如:HDFS(50070),Yarn(8088),Hbase(16010)等等, ...

  8. Shader 学习工具篇 可视化公式工具ZGrapher

    大家好,我是怒风,本篇介绍公式可视化公式工具ZGrapher,尝试通过可视化的方式分析一下Shader中应用的公式,以求帮助初学者快速理解Shader编程中的一些常用公式 本篇的目的两个, 第一,介绍 ...

  9. iOS 测试工具reveal可视化调试工具的使用

    简单翻译一下reveal可视化图形工具插入项目的官方文档(官方英文版file:///Applications/Reveal.app/Contents/SharedSupport/Documentati ...

  10. 数据可视化利器pyechart和matplotlib比较

    python中用作数据可视化的工具有多种,其中matplotlib最为基础.故在工具选择上,图形美观之外,操作方便即上乘. 本文着重说明常见图表用基础版matplotlib和改良版pyecharts作 ...

随机推荐

  1. 比文件操作os库更优异的标准库pathlib

    pathlib 库从 python3.4 开始作为内置库,到 python3.6 已经比较成熟.相比于老式的 os.path 有几个优势: 老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 ...

  2. 如何通过命令部署.Net

    如何通过命令部署.net3.5组件服务 问题:系统安装.net一直报错,无法安装该功能. 问题现象: 终极解决方案: 将windows10系统镜像文件拷贝在硬盘或者U盘中,鼠标右击选择"装载 ...

  3. IntelliJ IDEA 2024年最新下载、安装使用教程、亲测可用

    本文讲的是2023.3最新版本IntelliJ IDEA破解.IntelliJ IDEA激活码.IntelliJ IDEA安装.IntelliJ IDEA永久激活码的最新永久激活教程,本文有mac和w ...

  4. Python | 使用SVM支持向量机进行鸢尾花分类

    运行环境 Python: 3.7.1 库: sklearn (Python的机器学习工具箱) 目的: 根据鸢尾花的四个特征,对三种鸢尾花进行分类 数据(共150行,这里截取前6行,完整数据以及代码的下 ...

  5. Latex公式排版问题总结

    Latex写博客和论文,因为有模板,所以用起来还是很方便的. 但是在实际使用中,由于论文是双栏的,因此比较长的公式在排版时会比较困难.下面对Latex中的公式排版方法做一些记录. Latex公式排版( ...

  6. L3-008 喊山 (30 分) (BFS)

    喊山,是人双手围在嘴边成喇叭状,对着远方高山发出"喂-喂喂-喂喂喂--"的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的"讯号",达 ...

  7. 版本升级 | v1.0.12发布,许可证风险早知道

    新版本来啦~~~~ 一.v1.0.12更新内容 优化许可证检出功能,可通过JSON / HTML / SPDX 报告获知许可证信息 支持HTML报告自定义分页 二.更新说明 1. 优化许可证检出功能, ...

  8. vue学习笔记 四、定义组件(组件基本结构)

    系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...

  9. 响应式开发bootstrap

    响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 平时我们响应式尺寸划分 超小屏幕(手机,小于768px):设置宽度为100% 小屏幕(平板,大于等于7 ...

  10. 阿里巴巴MYSQL 开发规范

    转载请注明出处: (一) 建表规约 1. [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是,0 表示否). 说明:任何字段如果 ...