【PyTorch】训练过程可视化
文章目录
- 1. 训练过程中的可视化
- 1.1. alive_progress
- 1.2. rich.progress
- 2. 训练结束后的可视化
- 2.1. tensorboardX
- 2.1.1. 安装
- 2.1.2. 使用
1. 训练过程中的可视化
主要是监控训练的进度。
1.1. alive_progress
- 安装
pip install alive_progress
- 使用
from alive_progress import alive_bar
with alive_bar(num_epochs, theme='classic') as bar:
for epoch in range(num_epochs):
...
bar()
- 效果
1.2. rich.progress
- 安装
pip install rich
- 使用
from rich.progress import track
for epoch in track(range(num_epochs)):
...
- 效果:右边的时间在运行时显示剩余时间,运行结束显示消耗的总时间。
2. 训练结束后的可视化
主要原理是在运行过程中记录变量值、运行时间等信息到文件中,然后根据该文件绘制图表。
2.1. tensorboardX
2.1.1. 安装
pip install tensorboardX
VSCode集成了TensorBoard支持,不过事先要安装torch-tb-profiler,安装命令:
pip install torch-tb-profiler
安装完成后,在Python源文件中tensorboardX模块导入处,点击“启动TensorBoard会话”按钮,然后选择运行事件所在目录,默认选择当前目录即可,tensorboard会自动在当前目录查找运行事件,由此即可启动TensorBoard。开启TensorBoard页面后不要关闭,数据更新后,直接点击刷新按钮即可导入新数据。
此外,也可以通过以下命令在浏览器查看tensorboard可视化结果:
# logdir为运行事件所在目录
> tensorboard logdir=runs
TensorFlow installation not found - running with reduced feature set.
I1202 20:37:50.824767 15412 plugin.py:429] Monitor runs begin
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.14.0 at http://localhost:6006/ (Press CTRL+C to quit)
# 手动打开命令输出提供的本地服务器地址,如http://localhost:6006/
2.1.2. 使用
- 直接创建对象
from tensorboardX import SummaryWriter
writer = SummaryWriter()
# writer.add_scalar():添加监控变量
writer.close()
- 使用上下文管理器
from tensorboardX import SummaryWriter
with SummaryWriter() as writer:
# writer.add_scalar():添加监控变量