【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 在其他地方定义,您也需要将它们添加到环境变量或参数中。
相关推荐
纠结哥_Shrek44 分钟前
独立成分分析 (ICA):用于信号分离或降维
人工智能·python·算法
纪伊路上盛名在2 小时前
ML基础-Jupyter notebook中的魔法命令
linux·服务器·人工智能·python·jupyter
黑不拉几的小白兔2 小时前
Python爬虫学习第三弹 —— Xpath 页面解析 & 实现无广百·度
爬虫·python·学习
kakaZhui2 小时前
【llm对话系统】大模型源码分析之 LLaMA 模型的 Masked Attention
人工智能·python·chatgpt·aigc·llama
孤客网络科技工作室2 小时前
如何使用 Python 进行文件读写操作?
python
米码收割机2 小时前
【python】python基于机器学习与数据分析的二手手机特性关联与分类预测(源码+数据集)【独一无二】
python·机器学习·数据分析
jax不摆烂2 小时前
Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南
人工智能·pytorch·python
Gu_n_ian_3 小时前
在Visual Studio Code自带的按键编译无法使用该怎么办
ide·windows·vscode·编辑器
大懒猫软件3 小时前
如何运用python爬虫爬取百度贴吧的静态图片?
爬虫·python·百度