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

시작하기

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

WandbVisBackend를 MMEngine Runner와 함께 사용하기

이 섹션에서는 mmengine.runner.Runner을(를) 사용해 WandbVisBackend를 활용하는 일반적인 워크플로우를 보여줍니다.
  1. 시각화 설정(config)에서 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)
    
    init_kwargs에는 W&B 실행 초기화를 위한 입력 파라미터 딕셔너리를 전달합니다.
  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 컴퓨터 비전 라이브러리에서 실험을 손쉽게 추적하는 데 사용할 수도 있습니다.
# 기본 런타임 설정에서 기본 설정을 상속합니다
_base_ = ["../_base_/default_runtime.py"]

# 기본 설정의 `visualizer`에 있는 `vis_backends`에
# `WandbVisBackend` 설정 딕셔너리를 할당합니다
_base_.visualizer.vis_backends = [
    dict(
        type='WandbVisBackend',
        init_kwargs={
            'project': 'mmdet',
            'entity': 'geekyrakshit'
        },
    ),
]