【PyCharm】将包含多个参数的 shell 脚本配置到执行文件来调试 Python 程序
要配置 PyCharm 以使用包含多个参数的 shell 脚本(如 run.sh
)来调试 Python 程序,您可以按照以下步骤操作:
- 创建一个新的运行/调试配置:
- 在 PyCharm 中,点击“运行”菜单旁边的齿轮图标,选择“编辑配置”(或使用快捷键
Ctrl+Shift+Alt+S
)。 - 点击左上角的“+”号,选择“Python”。
- 在 PyCharm 中,点击“运行”菜单旁边的齿轮图标,选择“编辑配置”(或使用快捷键
- 配置脚本参数:
- 在新创建的配置中,您需要设置“脚本路径”为您的 Python 脚本路径(在这个例子中是
inference_pangu_vllm.py
)。 - 在“参数”字段中,您需要输入所有传递给 Python 脚本的参数。这些参数可以从
run.sh
脚本中的command
变量获得。您可以将这些参数复制并粘贴到 PyCharm 的参数字段中,确保格式正确。
- 在新创建的配置中,您需要设置“脚本路径”为您的 Python 脚本路径(在这个例子中是
- 设置环境变量:
- 在 PyCharm 的运行/调试配置中,有一个“环境变量”部分。在这里,您需要添加
run.sh
脚本中设置的所有环境变量,例如PRECHECKPOINT_PATH
,VOCAB_PATH
,MICRO_BATCH_SIZE
等。
- 在 PyCharm 的运行/调试配置中,有一个“环境变量”部分。在这里,您需要添加
- 配置工作目录:
- 在“工作目录”字段中,设置为您项目的工作目录,通常是
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=...
- 启动调试:
- 配置完成后,点击 PyCharm 中的 debug 按钮(通常是绿色甲虫图标)。
请注意,您可能需要根据实际情况调整路径和环境变量。如果DISTRIBUTED_ARGS
和INFERENCE_ARGS
在其他地方定义,您也需要将它们添加到环境变量或参数中。
- 配置完成后,点击 PyCharm 中的 debug 按钮(通常是绿色甲虫图标)。