Pytorch分布式训练与断点续训

1. Pytorch分布式训练

Pytorch支持多机多卡分布式训练,参与分布式训练的机器用Node表述(Node不限定是物理机器,还是容器,例如docker,一个Node节点就是一台机器),Node又分为Master Node、Slave Node,Master Node只有一个,Slave Node可以有多个,假定现在有两台机器参与分布式训练,每台机器有4张显卡,分别在两台机器上执行如下命令(以yolov5训练为例):

Master Node执行如下命令:

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'

 Slave Node执行如下命令:

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