当前位置: 首页 > news >正文

vscode调试launch.json常用格式

1、简单的模版

定义一个简单的模版如下:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Python 调试一",         // 可自定义"type": "debugpy","request": "launch","program": "运行脚本的程序",  // 使用.py 脚本路径(相对路径)、which torchrun、which deepspeed等命令查看位置"console": "integratedTerminal","justMyCode": false,       // 调试允许进入他人的代码"env": {"PYTHONPATH": "${workspaceRoot}" // 设置vscode家路径为项目根路径, 搜索包时优先从该目录进行,防止发生import包错误},"args": [               // 参数,每个参数的参数值无论是否是数字都需用引号"--参数1","值1",  "--model_name_or_path","facebook/opt-350m","--per_device_train_batch_size", "4","--per_device_eval_batch_size", "4"]}]
}

2、简单的案例 

  2.1、python 执行.py 文件

bash 命令

# 加入当前目录的绝对路径
PYTHONPATH=$PWD
export PYTHONPATH
echo "当前bash执行目录: $PWD, 已经将PYTHONPATH设置为: $PYTHONPATH"batch_dir=data/gpt3_generations_ceshi/# 命令行python 进行执行
python self_instruct/bootstrap_instructions.py \--batch_dir ${batch_dir} \--num_instructions_to_generate 5

命令行 python 进行执行脚本,构建launch.json 思路

  • bash 为python执行脚本.py,直接修改"program"为.py脚本相对路径
  • 其他参数照抄
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Python 调试","type": "debugpy","request": "launch","program": "self_instruct/bootstrap_instructions.py",  // .py脚本文件相对路径位置"console": "integratedTerminal","justMyCode": false,"env": {"PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误},"args": ["--batch_dir","data/gpt3_generations_ceshi",// TODO 修改官方线上数据集为自己的路径"--num_instructions_to_generate","5"    ]}]
}

  2.2、调式多个文件

与调试单个文件同理,只是重复

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [// 第一个文件{"name": "Python 调试 bootstrap_instructions.py","type": "debugpy","request": "launch","program": "self_instruct/bootstrap_instructions.py",  // .py脚本文件相对路径位置"console": "integratedTerminal","justMyCode": false,"env": {"PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误},"args": ["--batch_dir","data/gpt3_generations_ceshi",// TODO 修改官方线上数据集为自己的路径"--num_instructions_to_generate","5"]},// 第二个文件{"name": "Python 调试 identify_clf_or_not.py","type": "debugpy","request": "launch","program": "self_instruct/identify_clf_or_not.py",  // .py脚本文件相对路径位置"console": "integratedTerminal","justMyCode": false,"env": {"PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误},"args": ["--batch_dir","data/gpt3_generations_ceshi",// TODO 修改官方线上数据集为自己的路径"--num_instructions_to_generate","5"]}]
}

  2.3、torchrun、deepspeed 调试

bash 命令

# 加入当前目录的绝对路径
PYTHONPATH=$PWD
export PYTHONPATH
echo "当前bash执行目录: $PWD, 已经将PYTHONPATH设置为: $PYTHONPATH"batch_dir=data/gpt3_generations_ceshi/# 命令行python 进行执行
deepspeed --num_gpus 1 self_instruct/bootstrap_instructions.py \--batch_dir ${batch_dir} \--num_instructions_to_generate 5

命令行 deepspeed/torchrun 进行执行脚本,构建launch.json 思路

  • 构建launch.json脚本时需要找到“deepspeed”命令的路径,bash命令行:which deepspeed,直接修改"program"为该路径。
  • self_instruct/bootstrap_instructions.py 是执行的脚本的相对路径,不在主目录中,因此我们需要加入 "PYTHONPATH": "${workspaceRoot}" 指定项目目录到环境变量中,以防代码运行时出现 import 错误
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Python 调试一阶段LORA","type": "debugpy","request": "launch","program": "/opt/conda/envs/dsc/bin/deepspeed",  // which deepspeed 查看位置"console": "integratedTerminal","justMyCode": false,"env": {"PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误},"args": ["--num_gpus", "1", "self_instruct/bootstrap_instructions.py",   // 给定脚本地址(相对路径)"--batch_dir","data/gpt3_generations_ceshi",  "--num_instructions_to_generate","5"]}]
}

http://www.lryc.cn/news/323041.html

相关文章:

  • 巨细!Python爬虫详解
  • 项目中如何进行限流(限流的算法、实现方法详解)
  • https在win7的环境下如何配置
  • Day69:WEB攻防-Java安全JWT攻防Swagger自动化算法签名密匙Druid泄漏
  • Python Windows系统 虚拟环境使用
  • 栈和队列的学习
  • 【机器学习】基于机器学习的分类算法对比实验
  • 民航电子数据库:mysql与cae建表语法差异
  • (学习日记)2024.03.15:UCOSIII第十七节:任务的挂起和恢复
  • 聚类分析 | Matlab实现基于NNMF+DBO+K-Medoids的数据聚类可视化
  • Unity类银河恶魔城学习记录11-3 p105 Inventory UI源代码
  • Vue3 + Vite + ts引入本地图片
  • 图斑或者道路如何单独显示名称在图斑上或者道路上
  • docker 修改默认存储位置
  • Springboot+vue的医疗挂号管理系统+数据库+报告+免费远程调试
  • 【Effective C++】39 明智而审慎地使用private继承
  • 2024年卫生巾行业市场分析报告(京东天猫淘宝线上卫生巾品类电商数据查询)
  • MySQL之表的记录操作
  • 一种动态联动的实现方法
  • kotlin中使用ViewBinding绑定控件
  • 知识积累(五):Transformer 家族的学习笔记
  • [Java、Android面试]_13_map、set和list的区别
  • Linux进程管理:(六)SMP负载均衡
  • 计算机专业学生的成长之路:超越课堂的自我提升策略
  • 财报解读:“高端化”告一段落,华住开始“全球化”?
  • Wifi环境下Unity开发iOS应用启动后HTTPS请求未弹出是否允许无线数据使用数据的弹窗
  • 数据结构的概念大合集03(栈)
  • C++ 哈希表
  • C++之继承详解
  • C#装箱和拆箱