当前位置:   article > 正文

vscode调试launch.json常用格式_vscode launch.json env

vscode launch.json env

目录

1、简单的模版

2、简单的案例 

  2.1、python 执行.py 文件

  2.2、调式多个文件

  2.3、torchrun、deepspeed 调试

  2.4、accelerate launch (模块)

3、完整的案例


1、简单的模版

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

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

2、简单的案例 

  2.1、python 执行.py 文件

bash 命令

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

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

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

  2.2、调式多个文件

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

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. // 第一个文件
  8. {
  9. "name": "Python 调试 bootstrap_instructions.py",
  10. "type": "debugpy",
  11. "request": "launch",
  12. "program": "self_instruct/bootstrap_instructions.py", // .py脚本文件相对路径位置
  13. "console": "integratedTerminal",
  14. "justMyCode": false,
  15. "env": {
  16. "PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误
  17. },
  18. "args": [
  19. "--batch_dir","data/gpt3_generations_ceshi",// TODO 修改官方线上数据集为自己的路径
  20. "--num_instructions_to_generate","5"
  21. ]
  22. },
  23. // 第二个文件
  24. {
  25. "name": "Python 调试 identify_clf_or_not.py",
  26. "type": "debugpy",
  27. "request": "launch",
  28. "program": "self_instruct/identify_clf_or_not.py", // .py脚本文件相对路径位置
  29. "console": "integratedTerminal",
  30. "justMyCode": false,
  31. "env": {
  32. "PYTHONPATH": "${workspaceRoot}" // 设置vscode项目根路径,搜索包时优先从该目录进行,防止发生import包错误
  33. },
  34. "args": [
  35. "--batch_dir","data/gpt3_generations_ceshi",// TODO 修改官方线上数据集为自己的路径
  36. "--num_instructions_to_generate","5"
  37. ]
  38. }
  39. ]
  40. }

  2.3、torchrun、deepspeed 调试

bash 命令

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

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

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

  2.4、accelerate launch (模块)

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

launch.json 

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "Python ds_z3_qlora_multigpu 微调",
  9. "type": "debugpy",
  10. "request": "launch",
  11. "module": "accelerate.commands.launch", //调试accelerate launch
  12. "console": "integratedTerminal",
  13. "justMyCode": false,
  14. "env": {
  15. "PYTHONPATH": "${workspaceRoot}"
  16. },
  17. "args": [
  18. "--config_file", "examples/sft/configs/deepspeed_config_z3_qlora.yaml",
  19. "examples/sft/train.py",
  20. "--seed", "100",
  21. "--model_name_or_path", "/workspace/Llama-2-7b-chat-hf",
  22. "--dataset_name", "smangrul/ultrachat-10k-chatml",
  23. "--chat_template_format", "chatml",
  24. "--add_special_tokens", "False",
  25. "--append_concat_token", "False",
  26. "--splits", "train,test"
  27. ]
  28. }
  29. ]
  30. }

3、完整的案例

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. // py 脚本
  8. {
  9. "name": "Python lora 微调",
  10. "type": "debugpy",
  11. "request": "launch",
  12. "program": "finetune_demo/finetune_hf.py",
  13. "console": "integratedTerminal",
  14. "justMyCode": false,
  15. "env": {
  16. "PYTHONPATH": "${workspaceRoot}"
  17. },
  18. "args": [
  19. "/workspace/AdvertiseGen_fix",
  20. "/workspace/chatglm3-6b",
  21. "finetune_demo/configs/lora.yaml"
  22. ]
  23. },
  24. // torchrun 分布式
  25. {
  26. "name": "Python lora_ds 微调",
  27. "type": "debugpy",
  28. "request": "launch",
  29. "program": "/opt/conda/envs/llm/bin/torchrun",
  30. "console": "integratedTerminal",
  31. "justMyCode": false,
  32. "env": {
  33. "PYTHONPATH": "${workspaceRoot}"
  34. "args": [
  35. "--nproc_per_node","1",
  36. "finetune_demo/finetune_hf.py",
  37. "/workspace/AdvertiseGen_fix",
  38. "/workspace/chatglm3-6b",
  39. "finetune_demo/configs/lora.yaml"
  40. ]
  41. }
  42. ]
  43. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/461234
推荐阅读
相关标签
  

闽ICP备14008679号