vscode调试launch.json常用格式
创始人
2025-01-16 13:04:14
0次

目录

1、简单的模版

2、简单的案例 

  2.1、python 执行.py 文件

  2.2、调式多个文件

  2.3、torchrun、deepspeed 调试

  2.4、accelerate launch (模块)

3、完整的案例


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"             ]         }     ] } 

  2.4、accelerate launch (模块)

# bash accelerate launch --config_file "examples/sft/configs/deepspeed_config_z3_qlora.yaml"  examples/sft/train.py \     --seed 100 \     --model_name_or_path "/workspace/Llama-2-7b-chat-hf" \     --dataset_name "smangrul/ultrachat-10k-chatml" \     --chat_template_format "chatml" \     --add_special_tokens False \     --append_concat_token False \     --splits "train,test" \     2>&1 | tee -a examples/sft/qlora_ds_zero3_log.out  

launch.json 

{     // 使用 IntelliSense 了解相关属性。      // 悬停以查看现有属性的描述。     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387     "version": "0.2.0",     "configurations": [         {             "name": "Python ds_z3_qlora_multigpu 微调",             "type": "debugpy",             "request": "launch",             "module": "accelerate.commands.launch",          //调试accelerate launch             "console": "integratedTerminal",             "justMyCode": false,             "env": {                 "PYTHONPATH": "${workspaceRoot}"             },             "args": [                 "--config_file", "examples/sft/configs/deepspeed_config_z3_qlora.yaml",                 "examples/sft/train.py",                 "--seed", "100",                 "--model_name_or_path", "/workspace/Llama-2-7b-chat-hf",                 "--dataset_name", "smangrul/ultrachat-10k-chatml",                 "--chat_template_format", "chatml",                 "--add_special_tokens", "False",                 "--append_concat_token", "False",                 "--splits", "train,test"               ]         }     ] } 

3、完整的案例

{     // 使用 IntelliSense 了解相关属性。      // 悬停以查看现有属性的描述。     // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387     "version": "0.2.0",     "configurations": [         // py 脚本         {             "name": "Python lora 微调",             "type": "debugpy",             "request": "launch",             "program": "finetune_demo/finetune_hf.py",             "console": "integratedTerminal",             "justMyCode": false,             "env": {                 "PYTHONPATH": "${workspaceRoot}"             },             "args": [                 "/workspace/AdvertiseGen_fix",                   "/workspace/chatglm3-6b",                 "finetune_demo/configs/lora.yaml"             ]         },         // torchrun 分布式         {             "name": "Python lora_ds 微调",             "type": "debugpy",             "request": "launch",             "program": "/opt/conda/envs/llm/bin/torchrun",             "console": "integratedTerminal",             "justMyCode": false,             "env": {                 "PYTHONPATH": "${workspaceRoot}"             },             "args": [                 "--nproc_per_node","1",                 "finetune_demo/finetune_hf.py",                 "/workspace/AdvertiseGen_fix",                   "/workspace/chatglm3-6b",                 "finetune_demo/configs/lora.yaml"             ]         }     ] } 

相关内容

热门资讯

一分钟教你辅助!微乐小程序免费... 您好,微乐小程序免费工具这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
玩家必看秘籍开挂!艾牛娱乐辅助... 玩家必看秘籍开挂!艾牛娱乐辅助透视挂,北京麻将真的是有外挂,总是有挂分享1、让任何用户在无需艾牛娱乐...
科技分享透视挂!微信小程序微乐... 科技分享透视挂!微信小程序微乐辅助免费,微乐江苏小程序游戏破解器下载-果然是真的有辅助器微信小程序微...
玩家必备科普透视挂!新九游大厅... 玩家必备科普透视挂!新九游大厅辅助透视挂,天天温岭麻将是真的有外挂,都是揭秘有挂1、用户打开应用后不...
必备科技开挂!微信小程序微乐辅... 必备科技开挂!微信小程序微乐辅助器教程,微乐自建房辅助工具安全吗-确实存在有辅助教程1)微信小程序微...
指导大家辅助!荷塘辅助透视挂,... 指导大家辅助!荷塘辅助透视挂,微乐河南麻将真的有外挂,确实有挂分析指导大家辅助!荷塘辅助透视挂,微乐...
1.9分钟了解辅助!微乐家乡麻... 1.9分钟了解辅助!微乐家乡麻将辅助,微乐小程序免费黑科技-其实真的是有辅助插件1、玩家可以在微乐小...
最终开挂!微乐浙江麻将辅助透视... 最终开挂!微乐浙江麻将辅助透视挂,闲来广东麻将真的有外挂,都是真实有挂1、下载好微乐浙江麻将脚本下载...
实测发现辅助!微乐小程序黑科技... 实测发现辅助!微乐小程序黑科技免费工具,微乐家乡官方免费下载安装-本来是真的有辅助脚本1、上手简单,...
日前开挂!挖坑青海麻将辅助透视... 日前开挂!挖坑青海麻将辅助透视挂,元来黄冈麻将是真的有外挂,一贯有挂功能1、每一步都需要思考,不同水...