设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间11 现在时间11 缓存数据 "如果你喜欢一个人, 一定要告诉她 不是为了要她报答, 而是让她在以后黑暗的日子里, 否定自己的时候, 想起世界上还有人这么喜欢她 她并非一无是处。"

"如果你喜欢一个人, 一定要告诉她 不是为了要她报答, 而是让她在以后黑暗的日子里, 否定自己的时候, 想起世界上还有人这么喜欢她 她并非一无是处。" -- 感谢你曾来过

查看: 769|回复: 1

vscode调试launch.json常用格式完整的案例

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:204
  • 打卡月天数:0
  • 打卡总奖励:3030
  • 最近打卡:2023-08-27 08:17:07
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
425
主题
389
精华
0
金钱
4275
积分
848
注册时间
2022-12-23
最后登录
2025-3-15

发表于 2024-7-4 13:13:11 来自手机 | 显示全部楼层 |阅读模式
目录


  • 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.             },
  35.             "args": [
  36.                 "--nproc_per_node","1",
  37.                 "finetune_demo/finetune_hf.py",
  38.                 "/workspace/AdvertiseGen_fix",  
  39.                 "/workspace/chatglm3-6b",
  40.                 "finetune_demo/configs/lora.yaml"
  41.             ]
  42.         }
  43.     ]
  44. }
复制代码
总结

到此这篇关于vscode调试launch.json常用格式的文章就介绍到这了,更多相关vscode调试launch.json格式内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:17
  • 最近打卡:2024-09-22 13:57:35
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
29
积分
4
注册时间
2023-11-4
最后登录
2024-9-22

发表于 2024-10-25 11:48:23 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表