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

【PyCharm】将包含多个参数的 shell 脚本配置到执行文件来调试 Python 程序

要配置 PyCharm 以使用包含多个参数的 shell 脚本(如 run.sh)来调试 Python 程序,您可以按照以下步骤操作:

  1. 创建一个新的运行/调试配置
    • 在 PyCharm 中,点击“运行”菜单旁边的齿轮图标,选择“编辑配置”(或使用快捷键 Ctrl+Shift+Alt+S)。
    • 点击左上角的“+”号,选择“Python”。
  2. 配置脚本参数
    • 在新创建的配置中,您需要设置“脚本路径”为您的 Python 脚本路径(在这个例子中是 inference_pangu_vllm.py)。
    • 在“参数”字段中,您需要输入所有传递给 Python 脚本的参数。这些参数可以从 run.sh 脚本中的 command 变量获得。您可以将这些参数复制并粘贴到 PyCharm 的参数字段中,确保格式正确。
  3. 设置环境变量
    • 在 PyCharm 的运行/调试配置中,有一个“环境变量”部分。在这里,您需要添加 run.sh 脚本中设置的所有环境变量,例如 PRECHECKPOINT_PATH, VOCAB_PATH, MICRO_BATCH_SIZE 等。
  4. 配置工作目录
    • 在“工作目录”字段中,设置为您项目的工作目录,通常是 PROJECT_DIR 指定的路径。
      以下是一个示例配置:
  • 脚本路径: ./pangu/torch/streaming_decode/inference_pangu_vllm.py
  • 参数:
    --num-layers 62 
    --hidden-size 6144 
    --ffn-hidden-size 27648 
    --num-attention-heads 48 
    --group-query-attention 
    --num-query-groups 8 
    --swiglu 
    --untie-embeddings-and-output-weights 
    --disable-bias-linear 
    --position-embedding-type rope 
    --rotary-base 1000000 
    --rope-cache 
    --use-rope-fp32 
    --use-fused-rotary-pos-emb 
    --use-rotary-position-embeddings 
    --shape-format BSH --use-flash-attn --sparse-mode 2 
    --tokenizer-type PretrainedFromHF 
    --tokenizer-not-use-fast 
    --padded-vocab-size 165664 
    --fp16 
    --tokenizer-name-or-path ${VOCAB_PATH} 
    --use_prefix_txt_for_prompt 
    --eos_id 165569 
    --actual-vocab-size 165664 
    --attention-softmax-in-fp32 
    --normalization RMSNorm 
    --norm-epsilon 1e-5 
    --use-fused-rmsnorm 
    --use-gemma-post-norm 
    --max-position-embeddings 32768 
    --no-top-query-layer 
    --make-vocab-size-divisible-by 16 
    --language ${LANGUAGE} 
    --nlp-only 
    --use-act-seq-len --use_FIA --inner_precise 0  
    --kvselect_mode topk
    
  • 环境变量:
    SCRIPT_DIR=/path/to/script_dir
    PROJECT_DIR=/path/to/project_dir
    PRECHECKPOINT_PATH=/data/models/Pangu_38B_3.1.34.B101_32K/Deploy/Checkpoint
    VOCAB_PATH=/path/to/resource/vocab/pangu_tokenizer_llama3_expand_13b_v2_deleted
    MICRO_BATCH_SIZE=1
    EN_SEQ_LEN=32000
    DE_SEQ_LEN=40
    RUN_SCRIPT=./pangu/torch/streaming_decode/inference_pangu_vllm.py
    DISTRIBUTED_ARGS=...
    INFERENCE_ARGS=...
    OUTPUT_TEXT_DIR=...
    LANGUAGE=...
    
  1. 启动调试
    • 配置完成后,点击 PyCharm 中的 debug 按钮(通常是绿色甲虫图标)。
      请注意,您可能需要根据实际情况调整路径和环境变量。如果 DISTRIBUTED_ARGSINFERENCE_ARGS 在其他地方定义,您也需要将它们添加到环境变量或参数中。

http://www.kler.cn/a/518174.html

相关文章:

  • Vscode的AI插件 —— Cline
  • C++并发编程指南04
  • 抖音上线打车服务?抖音要大规模杀入网约车了吗?
  • 5分钟带你获取deepseek api并搭建简易问答应用
  • cent6.6安装rabbitmq
  • 前端jquery 实现文本框输入出现自动补全提示功能
  • Linux多路转接之epoll(补充)
  • 网络系统管理Linux环境——智慧运维平台部署(乐维LW)
  • 学习第七十五行
  • Command Center AI
  • BME280一款测量温度、湿度和气压的环境传感器
  • 【Nomoto 船舶模型】
  • 基于Arduino的厨房安全检测系统:守护家庭的智能助手
  • StarRocks 3.4 发布--AI 场景新支点,Lakehouse 能力再升级
  • MiniMax 稀宇科技
  • Go的内存逃逸
  • Redis数据库笔记——数据结构类型
  • Android程序中使用FFmpeg库
  • 大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件
  • 【论文+源码】Difformer在文本生成嵌入空间上增强扩散模型
  • RV1126画面质量一:视频基础
  • 【Linux系统】—— 动静态库
  • ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点
  • 【力扣Hot 100】矩阵1
  • go replay流量重放[详细教程]
  • JS 正则表达式 -- 分组【详解】含普通分组、命名分组、反向引用