首页 > 其他分享 >VisualDL: 飞桨深度学习可视化工具

VisualDL: 飞桨深度学习可视化工具

时间:2024-10-17 14:31:55浏览次数:6  
标签:-- 模型 VisualDL 飞桨 可视化 开发者 日志

VisualDL简介
VisualDL是百度飞桨(PaddlePaddle)推出的一款功能强大的深度学习可视化分析工具。它为开发者提供了丰富的可视化功能,包括实时跟踪训练指标、可视化模型结构、展示数据样本、可视化高维数据分布等,帮助用户更直观地理解训练过程和模型结构,从而高效地进行模型优化。

VisualDL的主要特点包括:

易用性强:API设计简洁,只需添加几行Python代码即可实现丰富的可视化功能
功能丰富:提供标量、图像、音频、文本、图结构等多种可视化组件
兼容性好:支持主流深度学习框架,如PaddlePaddle、ONNX、Caffe等
全面支持:与飞桨生态深度集成,为开发者提供最佳使用体验
VisualDL目前支持的浏览器包括:

Google Chrome ≥ 79
Firefox ≥ 67
Microsoft Edge ≥ 79
Safari ≥ 11.1
开发者只需在模型训练前添加几行Python代码,即可获得丰富的可视化结果。

VisualDL主要功能

  1. 标量可视化
    标量(Scalar)组件使用各种图表展示训练过程中准确率、损失值、学习率等参数的变化趋势。开发者可以观察单组或多组参数,深入了解训练过程,加速模型调优。

动态展示
VisualDL面板启动后,LogReader会持续记录数据并在前端展示,实现参数变化的实时可视化:

标量动态展示

多实验对比
开发者可以同时指定多个实验的日志路径,在同一个图表中可视化相同参数,方便进行对比:

多实验对比

  1. 图像可视化
    图像(Image)组件提供了训练过程中图像数据的实时可视化,让开发者能够观察不同训练阶段图像的变化,深入理解训练效果。

图像可视化

  1. 音频可视化
    音频(Audio)组件允许开发者在训练过程中实时试听音频数据,有助于监控语音识别、文本转语音等任务的进展。

音频可视化

  1. 文本可视化
    文本(Text)组件可视化自然语言处理模型在任意阶段的文本输出,帮助开发者比较输出的变化,深入理解训练过程,简单评估模型性能。

文本可视化

  1. 模型结构可视化
    图结构(Graph)组件支持一键可视化模型结构。开发者可以探索模型属性、节点信息、节点输入输出等,快速分析模型结构,轻松理解数据流向。Graph支持动态图和静态图的可视化:

动态图
动态图可视化

静态图
静态图可视化

  1. 直方图可视化
    直方图(Histogram)以直方图形式展示训练过程中张量(权重、偏置、梯度等)分布的变化趋势。开发者可以深入了解每一层的效果,精确调整模型结构。

偏移模式
直方图偏移模式

叠加模式
直方图叠加模式

  1. PR曲线
    PR曲线展示不同阈值下的精确率和召回率,帮助开发者高效找到最佳阈值。

PR曲线

  1. ROC曲线
    ROC曲线展示分类模型在所有分类阈值下的性能,曲线下面积越大,模型性能越好。这有助于开发者评估模型性能并选择合适的阈值。

ROC曲线

  1. 高维数据可视化
    高维数据(High Dimensional)组件提供了T-SNE、PCA和UMAP三种降维方法,让开发者能够深入分析高维数据之间的关系,并据此优化算法。

高维数据可视化

  1. 超参可视化
    超参(Hyper Parameters)组件以丰富的视图可视化超参数与模型指标(如准确率、损失值)之间的关系,帮助开发者高效地识别最佳超参数。

超参可视化

  1. 性能分析
    性能分析(Profiler)组件可视化程序运行过程中收集的性能数据,帮助开发者识别程序瓶颈并优化性能。详细使用方法请参考VisualDL Profiler使用指南。

性能分析

  1. X2Paddle
    X2Paddle组件提供了ONNX模型格式的可视化和转换为Paddle格式的功能。

X2Paddle

  1. FastDeployServer
    FastDeployServer组件提供了加载和编辑模型仓库、FastDeployServer服务管理和监控,以及提供客户端测试服务的功能。详细使用方法请参考使用VisualDL进行FastDeploy服务部署可视化。

FastDeployServer

  1. FastDeployClient
    FastDeployClient组件主要用于快速访问FastDeployServer服务,帮助用户可视化预测请求和结果。详细使用方法请参考使用VisualDL作为FastDeploy客户端进行请求可视化。

FastDeployClient

  1. VDL.service
    VDL.service使开发者能够轻松保存、跟踪和免费与他人共享可视化结果。

VDL.service

安装使用
安装
VisualDL支持通过pip安装和源码安装两种方式:

使用pip安装(推荐):
python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple
使用源码安装:
git clone https://github.com/PaddlePaddle/VisualDL.git
cd VisualDL

python setup.py bdist_wheel
pip install --upgrade dist/visualdl-*.whl
注意:自2020年1月1日起,Python 2已经停止官方维护。为了确保代码的可用性,VisualDL现在仅支持Python 3。

使用指南
VisualDL将训练过程中的数据、参数等信息记录在日志文件中。用户可以启动面板来查看可视化结果。

  1. 记录日志
    VisualDL的后端提供了Python SDK,可以通过LogWriter自定义日志记录器。接口描述如下:

class LogWriter(logdir=None,
max_queue=10,
flush_secs=120,
filename_suffix='',
**kwargs)
主要参数说明:

logdir: 日志文件的路径位置。如果不指定,默认为runs/${CURRENT_TIME}。
max_queue: 数据记录到日志文件前生成的最大容量。默认值为10。
flush_secs: 数据记录到日志文件前的最大缓存时间。默认值为120秒。
filename_suffix: 为默认的日志文件名添加后缀。
display_name: 在面板的"选择数据流"位置显示的参数。如果不设置,默认名称为logdir。
file_name: 设置日志文件的名称。如果file_name已存在,设置file_name将在同一日志文件中继续使用。注意名称应包含'vdlrecords'。
示例:创建日志文件并记录标量值:

from visualdl import LogWriter

./log/scalar_test/train下创建日志文件

with LogWriter(logdir="./log/scalar_test/train") as writer:
# 使用add_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 <dir_1, dir_2, ... , dir_n> --model <model_file> --host --port --cache-timeout <cache_timeout> --language --public-path <public_path> --api-only --component_tabs <tab_name1, tab_name2, ...>
主要参数说明:

--logdir: 设置日志的一个或多个目录。
--model: 设置模型文件的路径(不是目录)。
--host: 指定IP地址。默认值为127.0.0.1。
--port: 设置端口。默认值为8040。
--cache-timeout: 后端缓存时间。默认缓存时间为20秒。
--language: VisualDL面板的语言。可以指定为'en'或'zh'。
--public-path: VisualDL面板的URL路径。默认路径为'/app'。
--api-only: 决定是否仅提供API。
--component_tabs: 决定在页面中呈现哪些组件。
Python脚本启动
开发者可以在Python脚本中启动VisualDL面板:

visualdl.server.app.run(logdir,
model="path/to/model",
host="127.0.0.1",
port=8080,
cache_timeout=20,
文章链接:www.dongaigc.com/a/visualdl-visualization-tool
https://www.dongaigc.com/a/visualdl-visualization-tool

https://www.dongaigc.com/a/visualdl-visualization-tool
www.dongaigc.com/a/visualdl-visualization-tool

标签:--,模型,VisualDL,飞桨,可视化,开发者,日志
From: https://www.cnblogs.com/dongai/p/18472267

相关文章