视觉化工具VisualDL项目介绍
项目简介
VisualDL是飞桨(PaddlePaddle)提供的一款可视化分析工具。它能够通过多种图表展示参数的变化趋势,直观地可视化模型结构、数据样本、张量直方图、PR曲线、ROC曲线以及高维数据分布等信息。VisualDL帮助用户更清晰地理解训练过程和模型结构,从而提升模型优化的效率。
VisualDL支持多种可视化功能,包括实时指标追踪、模型结构可视化、数据样本展示、超参数与模型指标关系可视化、张量分布变化展示、PR曲线及高维数据投影等。此外,VisualDL提供了VDL.service,使开发者能轻松保存、跟踪和分享实验的可视化结果。用户可以通过《VisualDL 用户指南》了解每个功能的具体使用方法,并尝试我们的在线演示。
VisualDL兼容的浏览器包括:Google Chrome(版本 ≥ 79)、Firefox(版本 ≥ 67)、Microsoft Edge(版本 ≥ 79)和Safari(版本 ≥ 11.1)。
VisualDL原生支持Python使用,开发者只需在模型训练前添加几行Python代码即可获取丰富的可视化结果。
项目特点
易于使用
VisualDL的API设计高效,易于使用。用户只需轻轻一点即可生成模型结构的可视化。
功能丰富
VisualDL提供的功能包括训练参数、数据样本、图形结构、张量直方图、PR曲线和高维数据分布的可视化。
高兼容性
VisualDL支持主流的模型结构如Paddle、ONNX、Caffe,广泛适用于多元用户的视觉分析需求。
全面支持
通过集成于飞桨生态系统中,VisualDL让开发者使用不同组件时无障碍,体验到最佳的使用效果。
软件安装
通过 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将训练过程中的数据、参数和其他信息存储在日志文件中,用户可以启动面板来查看可视化结果。
日志创建
VisualDL提供了Python SDK,通过LogWriter可以自定义记录器。以下是接口描述:
class LogWriter(logdir=None,
max_queue=10,
flush_secs=120,
filename_suffix='',
**kwargs)
接口参数包括日志文件的路径、数据的最大缓存容量和时间等。用户可以根据需要配置这些参数。
创建日志文件并记录标量值的示例:
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)
启动面板
开发者可以通过命令行启动VisualDL面板,以查看日志文件的可视化结果。命令如下:
visualdl --logdir ./log
功能预览
标量(Scalar)
标量功能利用各种图表展示训练过程中参数(如准确率、损失、学习率)的变化。开发者可以实时观察参数的变化以加速模型调整过程。
图像(Image)
图像功能提供对训练过程中图像数据的实时可视化,帮助开发者观察不同训练阶段图像的变化。
文本(Text)
文本功能可视化NLP模型在任意阶段的文本输出,帮助开发者比较输出的变化情况,评估模型性能。
图形(Graph)
通过图形功能,开发者可以轻松可视化模型结构,并探索模型属性、节点信息以及数据流向。
PR曲线和ROC曲线
PR曲线和ROC曲线分别展示了在不同阈值下的精确率与召回率、分类模型在所有分类阈值下的表现,帮助开发者找到最佳阈值并评估模型性能。
常见问题
如果在使用VisualDL时遇到问题,请参考我们的常见问题解答。
社区与贡献
VisualDL是一个开源项目,由飞桨(PaddlePaddle)与ECharts支持,欢迎开发者使用、评论和贡献。
详细信息
有关VisualDL的更多使用细节,请参考《VisualDL用户指南》。加入官方QQ交流群1045783368,与团队和其他开发者交流。