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

相关推荐
VidDown2 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
摇滚侠2 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
霸道流氓气质3 天前
Trae IDE 新手入门指南
ide
VidDown3 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦3 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown3 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐3 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
意法半导体STM323 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
bloglin999993 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
终将老去的穷苦程序员3 天前
IntelliJ IDEA 的安装教程
java·ide·intellij-idea