VisualDL 工具简介

您所在的位置:网站首页 paddle拼读 VisualDL 工具简介

VisualDL 工具简介

2024-06-17 17:17| 来源: 网络整理| 查看: 265

VisualDL 工具简介¶

VisualDL 是飞桨可视化分析工具,以丰富的图表呈现训练参数变化趋势、模型结构、数据样本、直方图、PR 曲线及高维数据分布。可帮助用户更清晰直观地理解深度学习模型训练过程及模型结构,进而实现高效的模型优化。

具体功能使用方式请参见VisualDL 使用指南。项目正处于高速迭代中,敬请期待新组件的加入。

VisualDL 支持浏览器种类:Chrome(81 和 83)、Safari 13、Firefox(77 和 78)、Edge(Chromium 版)。

VisualDL 原生支持 python 的使用, 通过在模型的 Python 配置中添加几行代码,便可为训练过程提供丰富的可视化支持。

目录¶

核心亮点

安装方式

使用方式

可视化功能概览

开源贡献

更多细节

技术交流

核心亮点¶ 简单易用¶

API 设计简洁易懂,使用简单。模型结构一键实现可视化。

功能丰富¶

功能覆盖标量、数据样本、图结构、直方图、PR 曲线及数据降维可视化。

高兼容性¶

全面支持 Paddle、ONNX、Caffe 等市面主流模型结构可视化,广泛支持各类用户进行可视化分析。

全面支持¶

与飞桨服务平台及工具组件全面打通,为您在飞桨生态系统中提供最佳使用体验。

安装方式¶ 使用 pip 安装¶ pip install --upgrade --pre visualdl 使用代码安装¶ git clone https://github.com/PaddlePaddle/VisualDL.git cd VisualDL python setup.py bdist_wheel pip install --upgrade dist/visualdl-*.whl

需要注意,官方自 2020 年 1 月 1 日起不再维护 Python2,为了保障代码可用性,VisualDL 现仅支持 Python3

使用方式¶

VisualDL 将训练过程中的数据、参数等信息储存至日志文件中后,启动面板即可查看可视化结果。

1. 记录日志¶

VisualDL 的后端提供了 Python SDK,可通过 LogWriter 定制一个日志记录器,接口如下:

class LogWriter(logdir=None, comment='', max_queue=10, flush_secs=120, filename_suffix='', write_to_disk=True, **kwargs) 接口参数¶ 参数 格式 含义 logdir string 日志文件所在的路径,VisualDL 将在此路径下建立日志文件并进行记录,如果不填则默认为runs/${CURRENT_TIME} comment string 为日志文件夹名添加后缀,如果制定了 logdir 则此项无效 max_queue int 日志记录消息队列的最大容量,达到此容量则立即写入到日志文件 flush_secs int 日志记录消息队列的最大缓存时间,达到此时间则立即写入到日志文件 filename_suffix string 为默认的日志文件名添加后缀 write_to_disk boolean 是否写入到磁盘 示例¶

设置日志文件并记录标量数据:

from visualdl import LogWriter # 在`./log/scalar_test/train`路径下建立日志文件 with LogWriter(logdir="./log/scalar_test/train") as writer: # 使用 scalar 组件记录一个标量数据 writer.add_scalar(tag="acc", step=1, value=0.5678) writer.add_scalar(tag="acc", step=2, value=0.6878) writer.add_scalar(tag="acc", step=3, value=0.9878) 2. 启动面板¶

在上述示例中,日志已记录三组标量数据,现可启动 VisualDL 面板查看日志的可视化结果,共有两种启动方式:

在命令行启动¶

使用命令行启动 VisualDL 面板,命令格式如下:

visualdl --logdir --host --port --cache-timeout --language --public-path --api-only

参数详情:

参数 意义 --logdir 设定日志所在目录,可以指定多个目录,VisualDL 将遍历并且迭代寻找指定目录的子目录,将所有实验结果进行可视化 --model 设定模型文件路径(非文件夹路径),VisualDL 将在此路径指定的模型文件进行可视化,目前可支持 PaddlePaddle、ONNX、Keras、Core ML、Caffe 等多种模型结构,详情可查看graph 支持模型种类 --host 设定 IP,默认为127.0.0.1 --port 设定端口,默认为8040 --cache-timeout 后端缓存时间,在缓存时间内前端多次请求同一 url,返回的数据从缓存中获取,默认为 20 秒 --language VisualDL 面板语言,可指定为'EN'或'ZH',默认为浏览器使用语言 --public-path VisualDL 面板 URL 路径,默认是'/app',即访问地址为'http://:/app' --api-only 是否只提供 API,如果设置此参数,则 VisualDL 不提供页面展示,只提供 API 服务,此时 API 地址为'http://://api';若没有设置 public_path 参数,则默认为'http://:/api'

针对上一步生成的日志,启动命令为:

visualdl --logdir ./log 在 Python 脚本中启动¶

支持在 Python 脚本中启动 VisualDL 面板,接口如下:

visualdl.server.app.run(logdir, host="127.0.0.1", port=8080, cache_timeout=20, language=None, public_path=None, api_only=False, open_browser=False)

请注意:除logdir外,其他参数均为不定参数,传递时请指明参数名。

接口参数具体如下:

参数 格式 含义 logdir string 或 list[string_1, string_2, ... , string_n] 日志文件所在的路径,VisualDL 将在此路径下递归搜索日志文件并进行可视化,可指定单个或多个路径 model string 模型文件路径(非文件夹路径),VisualDL 将在此路径指定的模型文件进行可视化 host string 指定启动服务的 ip,默认为127.0.0.1 port int 启动服务端口,默认为8040 cache_timeout int 后端缓存时间,在缓存时间内前端多次请求同一 url,返回的数据从缓存中获取,默认为 20 秒 language string VisualDL 面板语言,可指定为'en'或'zh',默认为浏览器使用语言 public_path string VisualDL 面板 URL 路径,默认是'/app',即访问地址为'http:// : /app' api_only boolean 是否只提供 API,如果设置此参数,则 VisualDL 不提供页面展示,只提供 API 服务,此时 API 地址为'http:// : / /api';若没有设置 public_path 参数,则默认为 http:// : /api' open_browser boolean 是否打开浏览器,设置为 True 则在启动后自动打开浏览器并访问 VisualDL 面板,若设置 api_only,则忽略此参数

针对上一步生成的日志,我们的启动脚本为:

from visualdl.server import app app.run(logdir="./log")

在使用任意一种方式启动 VisualDL 面板后,打开浏览器访问 VisualDL 面板,即可查看日志的可视化结果,如图:

可视化功能概览¶ Scalar¶

以图表形式实时展示训练过程参数,如 loss、accuracy。让用户通过观察单组或多组训练参数变化,了解训练过程,加速模型调优。具有两大特点:

动态展示¶

在启动 VisualDL 后,LogReader 将不断增量的读取日志中数据并供前端调用展示,因此能够在训练中同步观测指标变化,如下图:

多实验对比¶

只需在启动 VisualDL 时将每个实验日志所在路径同时传入即可,每个实验中相同 tag 的指标将绘制在一张图中同步呈现,如下图:

Image¶

实时展示训练过程中的图像数据,用于观察不同训练阶段的图像变化,进而深入了解训练过程及效果。

Audio¶

实时查看训练过程中的音频数据,监控语音识别与合成等任务的训练过程。

Graph¶

一键可视化模型的网络结构。可查看模型属性、节点信息、节点输入输出等,并支持节点搜索,辅助用户快速分析模型结构与了解数据流向。

Histogram¶

以直方图形式展示 Tensor(weight、bias、gradient 等)数据在训练过程中的变化趋势。深入了解模型各层效果,帮助开发者精准调整模型结构。

Offset 模式

Overlay 模式

PR Curve¶

精度-召回率曲线,帮助开发者权衡模型精度和召回率之间的平衡,设定最佳阈值。

High Dimensional¶

将高维数据进行降维展示,目前支持 T-SNE、PCA 两种降维方式,用于深入分析高维数据间的关系,方便用户根据数据特征进行算法优化。

开源贡献¶

VisualDL 是由 PaddlePaddle 和 ECharts 合作推出的开源项目。 Graph 相关功能由 Netron 提供技术支持。 欢迎所有人使用,提意见以及贡献代码。

更多细节¶

想了解更多关于 VisualDL 可视化功能的使用详情介绍,请查看VisualDL 使用指南。

技术交流¶

欢迎您加入 VisualDL 官方 QQ 群:1045783368 与飞桨团队以及其他用户共同针对 VisualDL 进行讨论与交流。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3