## 介绍 VisualDL是一个面向深度学习任务设计的可视化工具,利用丰富的图表展示数据,用户可以更直观、清晰地查看数据的特征与变化趋势,有助于分析数据、及时发现错误,进而改进神经网络模型的设计。 目前大多数DNN平台均使用Python作为配置语言,VisualDL原生支持python的使用, 通过在模型的Python配置中添加几行,便可以为训练过程提供丰富的可视化支持。 VisualDL拥有不同种类的组件,能够帮助开发者有效记录和监测训练中的各种指标和数据,为模型训练数据参考,及时发现错误,进而改进神经网络模型的设计,关于组件的具体信息可以参考[VisualDL组件](./components/README.md)。 ## 特点 ### 1 动态展示 在启动VisualDL Board后,LogReader将不断增量的读取日志中数据并供前端调用展示,因此能够在训练中同步观测指标变化,如下图:
### 2 多实验对比 VisualDL支持多实验对比,只需要在启动VisualDL Board的时候将每个实验日志所在路径同时传入即可,每个实验中相同tag的指标将绘制在一张图中同步呈现,如下图:
## 安装 建议在anaconda环境下进行安装,便于开发环境的隔离,pip安装命令为: ```shell python -m pip install visualdl ``` 需要注意,由于官方不再维护Python2,因此VisualDL在v2.0.0之后的版本仅支持Python3 ## 使用 ### 记录日志 VisualDL的后端提供了Python SDK,可通过LogWriter定制一个日志记录器,接口如下: ```python 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|是否写入到磁盘| 初始化并记录标量数据到日志文件的过程如下: ```python 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) ``` 关于LogWriter组件的更多具体用法,请参考[VisualDL组件](./components/README.md) ### 启动面板 我们已经记录了三个标量数据到日志中,现在可以启动VisualDL面板查看日志的可视化结果,启动方式分为两种: #### 在命令行启动 我们可以使用命令行启动VisualDL面板,命令格式为: ```shell visualdl --logdir