Skip to main content

MMEngine

tip

如果您尚未使用ClearML,请参阅入门指南以获取设置说明。

MMEngine 是一个基于 PyTorch 的深度学习模型训练库。 MMEngine 通过内置的日志记录器支持 ClearML:它会自动记录实验环境信息,例如所需的软件包和未提交的更改,并支持报告标量、参数和调试样本。

按照以下步骤集成ClearML:

  1. 实例化一个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)。
  2. 使用ClearMLVisBackend.add_config()记录实验参数。在config参数下,输入参数键值对的字典。

    cfg = Config(dict(a=1, b=dict(b1=[0, 1])))
    vis_backend.add_config(config=cfg)

    参数将在ClearML WebApp中显示,位于实验的超参数下

  3. 使用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)

    标量显示在实验的标量选项卡中。

  4. 使用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)

    图像将显示在实验的调试样本中

  5. 完成训练后,请确保运行ClearMLVisBackend.close(),以便ClearML可以将任务标记为已完成。这还将扫描目录以查找在实例化ClearMLVisBackend时输入的相关后缀的工件,并将这些工件记录到您的实验中。

    vis_backend.close()