多卡的训练
您提供的命令:
python -m torch.distributed.launch --nproc_per_node=2 --nnodes=1 train.py
解释:
- --nproc_per_node=2:这意味着每个节点将启动2个进程。
- --nnodes=1:这意味着您总共使用1个节点(即,这不是一个多节点设置)。
那么这是使用 2 个 GPU 还是 1 个?
→ 这使用 2 个 GPU(假设节点上有 2 个 GPU 可用)。
每个进程通常映射到一个 GPU,因此,使用 nproc_per_node=2,您需要机器上至少有2 个 GPU。默认情况下,每个进程被将分配到一个单独的 GPU。
总结:
| 选项 | 含义 | 
|---|---|
| --nproc_per_node=2 | 每个节点启动 2 个进程(→ 2 个 GPU) | 
| --nnodes=1 | 仅使用 1 台物理机器(节点) | 
如果您的机器只有 1 个 GPU,除非您显式地处理设备分配,否则此命令将引发错误。
如果您希望获取一个如何使 train.py 支持此设置的最小示例(例如,使用 torch.distributed.init_process_group),请告诉我。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号