可视化训练过程

可视化训练过程#

XTuner 支持通过 MMEngine 使用 TensorBoardWeights & Biases (WandB) 实验管理工具,只需在 config 中添加一行代码,就可以跟踪和可视化损失、显存占用等指标。

TensorBoard#

  1. 设置 config 中的 visualizer 字段,并将 vis_backends 设置为 TensorboardVisBackend

# set visualizer
- visualizer = None
+ from mmengine.visualization import Visualizer, TensorboardVisBackend
+ visualizer = dict(type=Visualizer, vis_backends=[dict(type=TensorboardVisBackend)])
  1. 启动实验后,tensorboard 产生的相关文件会存在 vis_data 中,通过 tensorboard 命令可以启动进行实时可视化:

image1

tensorboard --logdir=$PATH_TO_VIS_DATA

WandB#

  1. 使用 WandB 前需安装依赖库 wandb 并登录至 wandb。

$ pip install wandb
$ wandb login
  1. 设置 config 中的 visualizer 字段,并将 vis_backends 设置为 WandbVisBackend

# set visualizer
+ from mmengine.visualization import Visualizer, WandbVisBackend
- visualizer = None
+ visualizer = dict(type=Visualizer, vis_backends=[dict(type=WandbVisBackend)])

小技巧

可以点击 WandbVisBackend API 查看 WandbVisBackend 可配置的参数。例如 init_kwargs,该参数会传给 wandb.init 方法。

# set visualizer
- visualizer = None
+ from mmengine.visualization import Visualizer, WandbVisBackend
+ visualizer = dict(
+   type=Visualizer,
+   vis_backends=[
+       dict(type=WandbVisBackend, init_kwargs=dict(project='toy-example'))])
  1. 启动实验后,可在 wandb 网页端 https://wandb.ai 上查看可视化结果:

image2