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

Ray

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会持续记录数据并在前端展示,实现参数变化的实时可视化:

标量动态展示

多实验对比

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

多实验对比

2. 图像可视化

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

图像可视化

3. 音频可视化

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

音频可视化

4. 文本可视化

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

文本可视化

5. 模型结构可视化

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

  • 动态图

动态图可视化

  • 静态图

静态图可视化

6. 直方图可视化

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

  • 偏移模式

直方图偏移模式

  • 叠加模式

直方图叠加模式

7. PR曲线

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

PR曲线

8. ROC曲线

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

ROC曲线

9. 高维数据可视化

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

高维数据可视化

10. 超参可视化

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

超参可视化

11. 性能分析

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

性能分析

12. X2Paddle

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

X2Paddle

13. FastDeployServer

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

FastDeployServer

14. FastDeployClient

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

FastDeployClient

15. VDL.service

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

VDL.service

安装使用

安装

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

  1. 使用pip安装(推荐):
python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple
  1. 使用源码安装:
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 <host> --port <port> --cache-timeout <cache_timeout> --language <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,
                
avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号