【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.mzph.cn/web/67035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

即梦(Dreamina)技术浅析(二):后端AI服务

1. 文本处理(Text Processing) 1.1 功能概述 文本处理模块的主要任务是将用户输入的文字提示词转换为机器可以理解的向量表示。这一过程包括分词、词嵌入和语义编码,旨在捕捉文本的语义信息,为后续的图像和视频生成提供准确的指导。 1.2 关键技术 1.分词(Tokenization…

蓝桥杯之c++入门(一)【第一个c++程序】

目录 前言一、第⼀个C程序1.1 基础程序1.2 main函数1.3 字符串1.4 头文件1.5 cin 和 cout 初识1.6 名字空间1.7 注释 二、四道简单习题(点击跳转链接)练习1:Hello,World!练习2:打印飞机练习3:第⼆个整数练习4&#xff…

【C++初阶】第11课—vector

文章目录 1. 认识vector2. vector的遍历3. vector的构造4. vector常用的接口5. vector的容量6. vector的元素访问7. vector的修改8. vector<vector\<int\>>的使用9. vector的使用10. 模拟实现vector11. 迭代器失效11.1 insert插入数据内部迭代器失效11.2 insert插入…

【AIGC学习笔记】扣子平台——精选有趣应用,探索无限可能

背景介绍&#xff1a; 由于近期业务发展的需求&#xff0c;我开始接触并深入了解了扣子平台的相关知识&#xff0c;并且通过官方教程自学了简易PE工作流搭建的技巧。恰逢周会需要准备与工作相关的分享主题&#xff0c;而我作为一个扣子平台的初学者&#xff0c;也想探索一下这…

mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作

添加数据 我们对 testdatabase 数据中 的 qqemp 这张表进行 增加数据&#xff0c;在这张表 下 打开 命令行 query console 在 软件中就是打开命令行的意思 可以先执行 desc qqemp; 查看一下当前表的结构。 插入一条数据 到qqemp 表&#xff0c;插入时要每个字段都有值 insert…

Java Web-Request与Response

在 Java Web 开发中&#xff0c;Request 和 Response 是两个非常重要的对象&#xff0c;用于在客户端和服务器之间进行请求和响应的处理&#xff0c;以下是详细介绍&#xff1a; Request&#xff08;请求对象&#xff09; Request继承体系 在 Java Web 开发中&#xff0c;通…

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5&#xff0c;在网上没有找到12.5的torch&#xff0c;就安装12.1的。torch&#xff0c;torchvision&#xff0c;torchaudio版本以及python版本要对应 参考&#xff1a;https://blog.csdn.net/FengHanI/article/details/135116114 创…

论文阅读(十六):利用线性链条件随机场模型检测阵列比较基因组杂交数据的拷贝数变异

1.论文链接&#xff1a;Detection of Copy Number Variations from Array Comparative Genomic Hybridization Data Using Linear-chain Conditional Random Field Models 摘要&#xff1a; 拷贝数变异&#xff08;CNV&#xff09;约占人类基因组的12%。除了CNVs在癌症发展中的…

Alibaba Spring Cloud 十三 Nacos,Gateway,Nginx 部署架构与负载均衡方案

在微服务体系中&#xff0c;Nacos 主要承担“服务注册与发现、配置中心”的职能&#xff0c;Gateway&#xff08;如 Spring Cloud Gateway&#xff09;通常负责“路由转发、过滤、安全鉴权、灰度流量控制”等功能&#xff0c;而 Nginx 则常被用作“边缘反向代理”或“统一流量入…

Next.js 实战 (十):中间件的魅力,打造更快更安全的应用

什么是中间件&#xff1f; 在 Next.js 中&#xff0c;中间件&#xff08;Middleware&#xff09;是一种用于处理每个传入请求的功能。它允许你在请求到达页面之前对其进行修改或响应。 通过中间件&#xff0c;你可以实现诸如日志记录、身份验证、重定向、CORS配置、压缩等任务…

ElasticSearch-文档元数据乐观并发控制

文章目录 什么是文档&#xff1f;文档元数据文档的部分更新Update 乐观并发控制 最近日常工作开发过程中使用到了 ES&#xff0c;最近在检索资料的时候翻阅到了 ES 的官方文档&#xff0c;里面对 ES 的基础与案例进行了通俗易懂的解释&#xff0c;读下来也有不少收获&#xff0…

实验二 数据库的附加/分离、导入/导出与备份/还原

实验二 数据库的附加/分离、导入/导出与备份/还原 一、实验目的 1、理解备份的基本概念&#xff0c;掌握各种备份数据库的方法。 2、掌握如何从备份中还原数据库。 3、掌握数据库中各种数据的导入/导出。 4、掌握数据库的附加与分离&#xff0c;理解数据库的附加与分离的作用。…

技术中台与终搜——2

文章目录 5、语言处理与自动补全技术探测5.1 自定义语料库5.1.1 语料库映射OpenAPI5.1.2 语料库文档OpenAPI 5.2 产品搜索与自动补全5.2.1 汉字补全OpenAPI5.2.2 拼音补全OpenAPI 5.3 产品搜索与语言处理5.3.1 什么是语言处理&#xff08;拼写纠错&#xff09;5.3.2 语言处理Op…

15_业务系统基类

创建脚本 SystemRoot.cs 因为 业务系统基类的子类 会涉及资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs 所以在业务系统基类 提取引用资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs 并调用单例初始化 using UnityEngine; // 功能 : 业务系统基类 public c…

k8s优雅重启

理论上处于terminating状态的pod&#xff0c;k8s 就会把它从service中移除了&#xff0c;只用配置一个优雅停机时长就行了。kubectl get endpoints 验证 因此&#xff0c;优雅重新的核心问题&#xff0c;是怎么让空闲长连接关闭&#xff0c;再等待处理中的请求执行完。 一些底…

【Linux】华为服务器使用U盘安装统信操作系统

目录 一、准备工作 1.1 下载UOS官方系统 &#xff11;.&#xff12;制作启动U盘 1.3 服务器智能管理系统iBMC 二、iBMC设置U盘启动 一、准备工作 1.1 下载UOS官方系统 服务器CPU的架构是x86-64还是aarch64&#xff09;,地址&#xff1a;统信UOS生态社区 - 打造操作系统创…

27. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表服务

报表是每个记账应用所具备的功能&#xff0c;要实现报表功能就需要把账本的核心功能&#xff08;记账&#xff09;完成&#xff0c;因此报表服务作为本专栏第一部分单体应用开发中最后一个要实现的功能&#xff0c;这一篇文章很简单&#xff0c;我们一起来实现一个简单的报表服…

基于 Node.js 的天气查询系统实现(附源码)

项目概述 这是一个基于 Node.js 的全栈应用,前端使用原生 JavaScript 和 CSS,后端使用 Express 框架,通过调用第三方天气 API 实现天气数据的获取和展示。 主要功能 默认显示多个主要城市的天气信息 支持城市天气搜索 响应式布局设计 深色主题界面 优雅的加载动画 技术栈 …

cursor重构谷粒商城04——vagrant技术快速部署虚拟机

前言&#xff1a;这个系列将使用最前沿的cursor作为辅助编程工具&#xff0c;来快速开发一些基础的编程项目。目的是为了在真实项目中&#xff0c;帮助初级程序员快速进阶&#xff0c;以最快的速度&#xff0c;效率&#xff0c;快速进阶到中高阶程序员。 本项目将基于谷粒商城…

leetcode 面试经典 150 题:简化路径

链接简化路径题序号71题型字符串解法栈难度中等熟练度✅✅✅ 题目 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &#xff08;以 ‘/’ 开头&#xff09;&#xff0c;请你将其转化为 更加简洁的规范路径。 在 Unix 风格的文件系统中规则如下…