yolov5 --local_rank --sync-bn这两个参数分别是什么意思?

--sync-bn 是否开启跨卡同步BN;开启参数后即可使用 SyncBatchNorm多 GPU 进行分布式训练
--local_rank DistributedDataParallel 单机多卡训练,单GPU设备不需要设置
我看网上对这两个参数的解析是这样的,我感觉两个意思差不多,好像都是进行多gpu训练(自己的理解),具体有什么区别?

关于local_rank 和rank请看:

需要注意的是,--loacl_rank这个参数需要声明,但是不能由用户指定,是pytorch自动为用户设置的
而sync-bn需要你至少是DDP的情况下才能使用,也就是先有多卡训练,然后才有SyncBatchNorm让多卡同步全局变量