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

相关推荐
xlntj5 小时前
VsCode远程连接服务器后安装Github Copilot无法使用
服务器·vscode·github
无你想你1 天前
利用vscode时进行调试,即使设置justMyCode为False仍然失败,如何解决?
ide·vscode·编辑器·justmycode
xcs194051 天前
AI 自动化编程 trae 体验 页面添加富编辑器
运维·自动化·编辑器
Zeluar1 天前
关闭VSCode Markdown插件在Jupyter Notebook中的自动预览
ide·vscode·jupyter
雷工笔记2 天前
【软件安装】VScode介绍安装步骤及中文界面设置方法
ide·vscode·编辑器
△曉風殘月〆2 天前
Visual Studio中的常用调试功能(下)
c++·ide·visual studio·调试
△曉風殘月〆2 天前
Visual Studio中的常用调试功能(上)
ide·visual studio·调试
gaog2zh2 天前
100202Title和Input组件_编辑器-react-仿低代码平台项目
react.js·低代码·编辑器
_poplar_2 天前
08.5【C++ 初阶】实现一个相对完整的日期类--附带源码
c语言·开发语言·数据结构·c++·vscode·算法·vim
翁正存2 天前
IDEA测试代码报java file outset source root异常
java·ide·intellij-idea