整理一下怎么用pycharm来调试torch.distributed.launch
我在服务器用的是sh?./train.sh,但是我需要在pycharm中查看变量,调试我的程序。
我的train.sh内容如下:
#!/bin/bash
PORT=${PORT:-29530}
python3 -m torch.distributed.launch --nproc_per_node=4 --master_port=$PORT\
train.py --model DDRNet --out_stride 8 \
--max_epochs 600 --val_epochs 10 --batch_size 64 --lr 0.01 --optim sgd --loss ProbOhemCrossEntropy2d \
--base_size 512 --crop_size 512 --tile_hw_size 512,512 \
--root '../../datasets' --dataset ChestLine --gpus_id 0,1,2,3 \
--lab_name 'AdaptiveMin_inp512e600'
问题转化为:我需要debug模式运行train.py ,一般情况下,参数添加在pycharm的运行配置中,这很简单,但是这里train.py前面还有 torch.distributed.launch --nproc_per_node=4 --master_port=$PORT这些东西,查了一下相关问题,亲测后,整理解决方案如下文。
step1.编辑运行配置
- Script path改成服务器的虚拟环境中的launch.py
- Parameters的输入对应我的train.sh。
?step2.编辑Python Debugger
上述操作后,能够以torch.distributed的模型运行了,但是此时会出现一直显示collecting data并报错Timeout waiting for response。
参考:?
https://blog.csdn.net/weixin_26884391/article/details/113312267
https://blog.csdn.net/discoverer100/article/details/99501027
https://stackoverflow.com/questions/39371676/debugger-times-out-at-collecting-data
|