起因是因为在跑SAT这个项目的时候提到了torchrun,但是因为本人日常习惯在Pycharm debug,并且是远程连接服务器,搜遍了全网没有找到如何在torchrun这种分布式训练下debug··· 又因为我尝试了网上大部分torch.distributed.launch 如何调试的帖子,都没有用。所以浅浅记录一下
首先,你需要连接服务器,这个就不赘述了。
我需要debug的sh命令是这样的:
torchrun \
--nproc_per_node=1 \
--master_port 1234 \
inference.py \
--rcd_dir 'demo/inference_demo/results' \
--datasets_jsonl 'demo/inference_demo/demo.jsonl' \
--vision_backbone 'UNET-L' \
--checkpoint 'path to SAT-Pro checkpoint' \
--text_encoder 'ours' \
--text_encoder_checkpoint 'path to Text encoder checkpoint' \
--max_queries 256 \
--batchsize_3d 2
这段的意思是说需要使用torchrun多GPU的方式启动运行inference.py,torchrun和inference.py后面紧接着是分别是这两个需要指定的参数
如何运行torchrun:
1. 找到torch.distributed下面的run.py文件,记住是在本地的位置。通常情况下我的办法是在import torch那里ctrl+点击torch就能够知道torch的init.py文件的位置