Pytorch 分散トレーニングとブレークポイント連続トレーニング

1. Pytorch 分散トレーニング

Pytorch はマルチマシンおよびマルチカード分散トレーニングをサポートします. 分散トレーニングに参加するマシンは Node で表され (Node は物理的なマシンや Docker などのコンテナーに限定されません. Node ノードはマシンです), Node は次のように分割されます.マスター ノードとスレーブ ノードは 1 つだけで、マスター ノードと複数のスレーブ ノードがあります. 分散トレーニングに参加している 2 台のマシンがあり、各マシンに 4 つのグラフィックス カードがあると仮定します. 2 台のマシンでそれぞれ次のコマンドを実行します (yolov5 トレーニングを実行中)例として):

マスター ノードは次のコマンドを実行します。

python -m torch.distributed.launch \
       --nnodes 2 \
       --nproc_per_node 4 \
       --use_env \
       --node_rank 0 \
       --master_addr "192.168.1.2" \
       --master_port 1234 \
       train.py \
       --batch 64 \
       --data coco.yaml \
       --cfg yolov5s.yaml \
       --weights 'yolov5s.pt'

 スレーブ ノードは次のコマンドを実行します。

python -m torch.distributed.launch \
       --nnodes 2 \
       --nproc_per_node 4 \        
       --use_env \
       --node_rank 1 \
       --master_addr "192.168.1.2" \
       --master_port 1234 train.py 

おすすめ

転載: blog.csdn.net/weicao1990/article/details/127057328