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后程序是从哪个路劲开始,就把这个值设置为对应的路劲就好,不然会默认跑到根目录,这个时候路径有问题就会出别的错误。

相关推荐
海市公约5 小时前
HTML网页开发从入门到精通:从标签到表单的完整指南
前端·ide·vscode·程序人生·架构·前端框架·html
Irene19919 小时前
VSCode 内置终端 和 系统自带终端 的主要区别
windows·vscode·终端
infiniteWei9 小时前
【VIM 入门到精通】第1节:揭开Vim的神秘面纱:入门与基础操作
linux·编辑器·vim
weixin_4046793117 小时前
vscode内存过大
ide·vscode·编辑器
winfredzhang18 小时前
深入剖析 wxPython 配置文件编辑器
python·编辑器·wxpython·ini配置
hoo34319 小时前
轻量不卡顿!7-Zip 清爽压缩软件:高压缩比
编辑器·7-zip
sulikey19 小时前
如何使用 Visual Studio 代替 OllyDbg 完成汇编语言实验
汇编·ide·debug·visual studio·ollydbg
infiniteWei19 小时前
【VIM 入门到精通】快速查找与替换:定位和修改文本的利器
linux·编辑器·vim
七元权19 小时前
VSCode连接远程容器失败(Missing GLIBC >=2.28!)
ide·vscode·编辑器·连接容器
infiniteWei19 小时前
【VIM 入门到精通】视觉模式与剪贴板:高效选择、复制与粘贴
linux·编辑器·vim