메인 콘텐츠로 건너뛰기
OpenMMLab에서 개발한 MMEngine은 PyTorch 기반의 딥러닝 모델 트레이닝을 위한 핵심 라이브러리입니다. MMEngine은 OpenMMLab 알고리즘 라이브러리를 위한 차세대 트레이닝 아키텍처를 구현하여, OpenMMLab 내 30개 이상의 알고리즘 라이브러리에 통일된 실행 기반을 제공합니다. 주요 구성 요소로는 트레이닝 엔진, 평가 엔진 및 모듈 관리가 포함됩니다. W&B는 전용 WandbVisBackend를 통해 MMEngine에 직접 통합되어 다음과 같은 기능을 수행할 수 있습니다.
  • 트레이닝 및 평가 메트릭 로그.
  • 실험 설정(configs) 로그 및 관리.
  • 그래프, 이미지, 스칼라 등 추가 레코드 로그.

시작하기

openmimwandb를 설치합니다.
pip install -q -U openmim wandb
다음으로, mim을 사용하여 mmenginemmcv를 설치합니다.
mim install -q mmengine mmcv

MMEngine Runner에서 WandbVisBackend 사용하기

이 섹션에서는 mmengine.runner.Runner를 사용하여 WandbVisBackend를 활용하는 일반적인 워크플로우를 보여줍니다.
  1. 시각화 설정에서 visualizer를 정의합니다.
    from mmengine.visualization import Visualizer
    
    # 시각화 설정 정의
    visualization_cfg = dict(
        name="wandb_visualizer",
        vis_backends=[
            dict(
                type='WandbVisBackend',
                init_kwargs=dict(project="mmengine"),
            )
        ],
        save_dir="runs/wandb"
    )
    
    # 시각화 설정으로부터 visualizer 인스턴스 생성
    visualizer = Visualizer.get_instance(**visualization_cfg)
    
    W&B run 초기화 입력 파라미터를 위한 인수 사전을 init_kwargs에 전달합니다.
  2. visualizer와 함께 runner를 초기화하고 runner.train()을 호출합니다.
    from mmengine.runner import Runner
    
    # PyTorch 트레이닝 헬퍼인 mmengine Runner 빌드
    runner = Runner(
        model,
        work_dir='runs/gan/',
        train_dataloader=train_dataloader,
        train_cfg=train_cfg,
        optim_wrapper=opt_wrapper_dict,
        visualizer=visualizer, # visualizer 전달
    )
    
    # 트레이닝 시작
    runner.train()
    

OpenMMLab 컴퓨터 비전 라이브러리에서 WandbVisBackend 사용하기

WandbVisBackendMMDetection과 같은 OpenMMLab 컴퓨터 비전 라이브러리에서도 Experiments를 추적하는 데 쉽게 사용할 수 있습니다.
# 기본 런타임 설정에서 베이스 설정을 상속함
_base_ = ["../_base_/default_runtime.py"]

# 베이스 설정의 `visualizer`에 있는 `vis_backends`에
# `WandbVisBackend` 설정 사전을 할당함
_base_.visualizer.vis_backends = [
    dict(
        type='WandbVisBackend',
        init_kwargs={
            'project': 'mmdet',
            'entity': 'geekyrakshit'
        },
    ),
]