TCP的端口被占用,在一台计算机上启动多个作业,例如,在具有8个GPU的计算机上进行2个4-GPU训练作业,需要为每个作业指定不同的端口(默认为29500),以避免通信冲突。

如果使用dist_train.sh启动训练作业,则可以在命令中设置端口。

一种解决方法是,运行程序的同时指定端口,端口号随意给出:

--master_port 29501     位置在执行的py文件之前

python -m torch.distributed.launch --master_port 66666 --use_env main.py

另一种方式,查找占用的端口号(在程序里 插入print输出),然后找到该端口号对应的PID值:netstat -nltp,然后通过kill -9 PID来解除对该端口的占用。
 

 

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐