Pycharm 调试debug torch.distributed.launch

整理一下怎么用pycharm来调试(debug) 分布式模式下(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.编辑运行配置

  1. Script path改成【服务器】虚拟环境中的launch.py (先确保本地能够连通服务器端)
  2. Parameters的输入对应我的train.sh。

 step2.编辑Python Debugger

上述操作后,能够以torch.distributed的模式运行了,但是此时会出现一直显示collecting data并报错Timeout waiting for response。 参考后 解决如下:

参考: 

pycharm终止运行_Pycharm 下如何 debug torch.distributed_祁圆圆的博客-CSDN博客

解决PyCharm调试查看变量时一直显示collecting data并报错Timeout waiting for response且看不到任何内容_越野者的博客-CSDN博客_pycharm调试显示变量

python - Debugger times out at "Collecting data..." - Stack Overflow

  • 19
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值