MMEngine
tip
如果您尚未使用ClearML,请参阅入门指南以获取设置说明。
MMEngine 是一个基于 PyTorch 的深度学习模型训练库。 MMEngine 通过内置的日志记录器支持 ClearML:它会自动记录实验环境信息,例如所需的软件包和未提交的更改,并支持报告标量、参数和调试样本。
按照以下步骤集成ClearML:
-
实例化一个
ClearMLVisBackend
对象。这将创建一个ClearML任务,用于记录实验的环境信息。from mmengine.visualization import ClearMLVisBackend
vis_backend = ClearMLVisBackend(
artifact_suffix=('.py', 'pth'),
init_kwargs=dict(
project_name='examples',
task_name='OpenMMLab cifar10',
output_uri=True
)
)您可以指定以下参数:
init_kwargs
– 一个包含传递给ClearML的Task.init()
的参数的字典。artifact_suffix
– 在训练结束时,带有这些后缀的工件将被上传到任务的output_uri
。 默认为(.py
,pth
)。
-
使用
ClearMLVisBackend.add_config()
记录实验参数。在config
参数下,输入参数键值对的字典。cfg = Config(dict(a=1, b=dict(b1=[0, 1])))
vis_backend.add_config(config=cfg)参数将在ClearML WebApp中显示,位于实验的超参数下
-
使用
ClearMLVisBackend.add_scalar()
记录单个值的实验标量,或使用ClearMLVisBackend.add_scalars()
记录多个值的实验标量:vis_backend.add_scalar(name='mAP', value=0.6, step=1)
vis_backend.add_scalars(scalar_dict={'loss': 0.1,'acc':0.8}, step=1)标量显示在实验的标量选项卡中。
-
使用
ClearMLVisBackend.add_image()
将图像报告到您的实验中。在image
参数下,输入要报告的图像作为RGB格式的np.ndarray
:img = np.random.randint(0, 256, size=(10, 10, 3))
vis_backend.add_image(name='img.png', image=img, step=1)图像将显示在实验的调试样本中
-
完成训练后,请确保运行
ClearMLVisBackend.close()
,以便ClearML可以将任务标记为已完成。这还将扫描目录以查找在实例化ClearMLVisBackend
时输入的相关后缀的工件,并将这些工件记录到您的实验中。vis_backend.close()