MMEngine
MMEngineはOpenMMLabによって開発された、PyTorchをベースとしたディープラーニングモデルのトレーニング用基盤ライブラリです。MMEngineはOpenMMLabのアルゴリズムライブラリ向けに次世代のトレーニングアーキテクチャーを実装しており、OpenMMLab内の30以上のアルゴリズムライブラリに対して統一された実行基盤を提供します。その核心コンポーネントには、トレーニングエンジン、評価エンジン、モジュール管理が含まれます。
Weights and Biasesは、専用のWandbVisBackend
を通じてMMEngineに直接インテグレーションされています。このバックエンドを使用して以下を行うことができます。
- トレーニングおよび評価メトリクスのログ。
- 実験設定のログと管理。
- グラフ、画像、スカラーなどの追加レコードのログ。
はじめに
まず、openmim
とwandb
をインストールする必要があります。その後、openmim
を使用してmmengine
とmmcv
をインストールできます。
- Command Line
- Notebook
pip install -q -U openmim wandb
mim install -q mmengine mmcv
!pip install -q -U openmim wandb
!mim install -q mmengine mmcv
WandbVisBackend
を使用したMMEngine Runnerの利用
このセクションでは、mmengine.runner.Runner
を使用してWandbVisBackend
を利用する典型的なワークフローを示します。
まず、可視化設定から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 run initializationの入力パラメータの引数辞書を渡します。
:::
次に、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()
WandbVisBackend を使用してトラッキングされたあなたの実験の一例。 |
OpenMMLabコンピュータビジョンライブラリでWandbVisBackend
を使用
WandbVisBackend
は、MMDetectionなどのOpenMMLabコンピュータビジョンライブラリを使用して実験をトラッキングするのにも簡単に使用できます。
# デフォルトのランタイム設定からベース設定を継承
_base_ = ["../_base_/default_runtime.py"]
# ベース設定の`visualizer`の`vis_backends`に
# `WandbVisBackend`設定辞書を割り当てる
_base_.visualizer.vis_backends = [
dict(
type='WandbVisBackend',
init_kwargs={
'project': 'mmdet',
'entity': 'geekyrakshit'
},
),
]