ValueError: Error initializing torch.distributed using tcp:// rendezvous: port number missing

用 pytorch 训练 ABCNet 网络 【GitHub】,

OMP_NUM_THREADS=1 
python tools/train_net.py \
--config-file configs/BAText/$confpath/attn_R_50.yaml \
--num-gpus 4 \
MODEL.WEIGHTS text_pretraining/attn_R_50/pretrain_attn_R_50.pth

报错

ValueError: Error initializing torch.distributed using tcp:// rendezvous: port number missing

原因:缺失端口
需要指定端口号或者 TCP 的 URL

当前系统有哪些端口可用呢?对于Linux 上 tcp 类型的端口,使用下面语句查看 【参考】

netstat -ntpl

训练时指定 TCP URL 即可

OMP_NUM_THREADS=1 
python tools/train_net.py \
--config-file configs/BAText/$confpath/attn_R_50.yaml \
--num-gpus 4 \
--dist-url tcp://127.0.0.11:3806 \
MODEL.WEIGHTS text_pretraining/attn_R_50/pretrain_attn_R_50.pth

如果地址已被占用,就换个端口号,多试几个
RuntimeError: Address already in use

具体到其他训练语句,需要添加相应的命令行参数。

你可能感兴趣的:(Python,linux,深度学习,pytorch)