VSCode中配置命令行参数

VSCode中配置命令行参数

在跑程序调试的时候,可以直接使用脚本运行程序,这个时候调试代码只能用pdb ,我觉得不太习惯,而且感觉不是很好,所以想这能不能将运行程序的脚本中的命令直接配置到vscode上,就有了这篇记录。

正常vscode Debug程序

这个好像没什么值得说的。打开程序文件,点击f5。一般第一次使用f5跑代码会弹出是否配置lanuch,默认选择就好。这个要求是程序不需要从命令行输入参数,直接就能运行了。

唯一可能有问题的是,f5有时没有反应,这个时候我们就需要检查vscode 中装的python扩展,版本低于2022.8.1就可以了。装好记得重新打开vscode,基本就没有问题了。

我下面的截图有额外增加的部分。第一个红框框起来的就是默认的配置。这个代码不需要输入参数,所以没有额外的设置。

后面可能需要改的是"justMycode",和在库的代码中设置断点有没有效果有关系。

命配置命令参数输入

这个比之前的多的一点是,在输入脚本测试代码时,我们可能会需要提供额外的信息。

这个就是我们的脚本文件train.sh 。把最后一行改成:

python 复制代码
python -m torch.distributed.launch --nproc_per_node=1 train.py --launcher pytorch --cfg_file cfgs/kitti_models/IA-SSD.yaml

可以直接拿着到vscode的终端里跑,只要文件地址正确。下面的两个框就是配置命令行的参数。我之前常用的时蓝色框里的,就是一般就跟着train.py(我的代码)后面的直接用这样的方式就可以了。

torch.distribut 配置

主要时参考下面的文章
VS Code中如何调试pytorch分布式训练脚本torch.distributed

这里和简单的 train.py 后面跟参数不一样,这个时会在train.py的前面加参数。还是下面的例子

python 复制代码
python -m torch.distributed.launch --nproc_per_node=1 train.py --launcher pytorch --cfg_file cfgs/kitti_models/IA-SSD.yaml

-m torch.distributed.launch --nproc_per_node=1是在train.py前面的,要是直接安装上面的方法会报错。

然后重点来了,主要还是参考的上面的那片文章。

python 复制代码
"program": "/home/cyd/miniconda3/envs/IASSD/lib/python3.8/site-packages/torch/distributed/launch.py",

上面那篇文章介绍的很详细,但是没说launch.py这个文件怎么找。我这里就是补充一下,

没有办法的时候,我们直接使用命令行参数运行程序,这个时候,就会有调用信息显示出来,里面就会有这个launch.py文件地址,我们直接copy 过来就好。

就是这个路径

然后其他参数照着写道"args"里面就可以了。

还有一个就是环境cuda的设置问题,放在"env"后面就好了。

python 复制代码
 "env": {"CUDA_VISIBLE_DEVICES":"0"},

还有一个就是"cwd",你想点f5后程序是从哪个路劲开始,就把这个值设置为对应的路劲就好,不然会默认跑到根目录,这个时候路径有问题就会出别的错误。

相关推荐
梦幻通灵7 小时前
IDEA通过Contince接入Deepseek
java·ide·intellij-idea
鸡啄米的时光机7 小时前
vscode的一些实用操作
vscode·学习
Aphelios38010 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(上)
java·linux·编辑器·vim
灰色人生qwer11 小时前
React + TypeScript+ Vite 配置路径别名和vscode智能路径提示
vscode·react.js·typescript
workflower12 小时前
实例研究:设计一个文档编辑器(24)- 完
java·开发语言·设计模式·编辑器·软件工程·需求分析·软件需求
莲动渔舟12 小时前
赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
ide·人工智能·vscode·deepseek
咩咩大主教13 小时前
VSCode运行Go程序报错:Unable to process `evaluate`: debuggee is running
开发语言·ide·vscode·golang·编辑器
佛曰我不想说话13 小时前
通过VSCode直接连接使用 GPT的编程助手
ide·vscode·copilot
羊村懒哥16 小时前
VScode内接入deepseek包过程(本地部署版包会)
人工智能·vscode·deepseek