1 在Pycharm中调试trochrun启动的分布式模型训练程序
最近在跑cutie模型训练时,一般都要在命令行中使用以下命令启动训练
OMP_NUM_THREADS=4 torchrun --master_port 25357 --nproc_per_node=4 cutie/train.py exp_id=[some unique id] model=[small/base] data=[base/with-mose/mega]
这种方式只能拉起训练程序,而不能调试程序,一旦程序出现问题只能通过log日志的方法排查,非常的不方便。所以就研究了以下调试torchrun启动的分布式训练的方法,下面详细说明。
1.1 调试方法
假如你目前的conda虚拟环境名为cutie,那么我们就找到该环境下的:envs/cutie/Lib/site-packages/torch/distributed/run.py 文件,然后将其拖到pycharm中打开,并配置run configurations。
参数就填入torchrun之后的参数,比如上述命令为
OMP_NUM_THREADS=4 torchrun --master_port 25357 --nproc_per_node=4 cutie/train.py exp_id=[some unique id] model=[small/base] data=[base/with-mose/mega]
则参数为
--master_port 25357 --nproc_per_node=4 cutie/train.py exp_id=[some unique id] model=[small/base] data=[base/with-mose/mega]
然后将工作目录设置为该项目的工作目录,这里要注意。
然后在Environment variables中填入所需的环境变量,比如:OMP_NUM_THREADS=4;CUDA_VISIBLE_DEVICES=0 等等。
然后将上述设置保存,直接点击debug即可调试。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Pycharm – 调试torchrun启动的分布式模型训练程序
原文链接:https://www.stubbornhuang.com/3110/
发布于:2024年11月30日 11:32:41
修改于:2024年11月30日 11:32:41
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52