最近刚刚把imagenet 数据集下下来,然后按照 pytorch 官方的代码进行训练 https://github.com/pytorch/examples/tree/master/imagenet 结果在运行单机多卡的时候出现了错误。官方说应该这样运行:
python main.py -a resnet50 --dist-url ‘tcp://127.0.0.1:FREEPORT’ --dist-backend ‘nccl’ --multiprocessing-distributed --world-size 1 --rank 0 [imagenet-folder with train and val folders]
结果报错:
- No rendezvous handler for : / /
等等。
然后我调试了半天发现要:
2. 把 FREEPORT 换成具体的端口 ,如:8080
3. ‘nccl’ 去掉引号
4. ‘tcp://127.0.0.1:FREEPORT’ 去掉引号
最终,变为
python main_log.py -a resnet50 --dist-url tcp://127.0.0.1:8080 --dist-backend nccl --multiprocessing-distributed --world-size 1 --rank 0 /data/imagenet/ --batchsize 200