已合并
doc: readme.md 补充 torch_env_patch.sh 使用说明 #38071
kerer-sk创建于 6月10日
doc: readme.md 补充 torch_env_patch.sh 使用说明 #38071
已合并
共 1 个文件变更+41-8
| @@ -11,31 +11,64 @@ | |||
| 11 | ```text | 11 | ```text |
| 12 | pytorch/ # PyTorch 源码根目录 | 12 | pytorch/ # PyTorch 源码根目录 |
| 13 | ├─ ...(其他 PyTorch 原生文件/目录) | 13 | ├─ ...(其他 PyTorch 原生文件/目录) |
| 14 | - └─ test_upstream/ # 补丁目录 | 14 | + └─ test_upstream/ # 补丁目录 |
| 15 | - ├─ apply_test_patch.sh # 批量应用脚本 | 15 | + ├─ apply_test_patch.sh # 源码测试 patch 批量应用脚本 |
| 16 | - ├─ *.patch # 补丁文件(支持子目录嵌套) | 16 | + ├─ torch_env_patch.sh # 环境 torch 包 patch 应用脚本 |
| 17 | - ├─ ...(其他补丁子目录) | 17 | + ├─ test/ # 源码测试用例 patch 文件 |
| 18 | + ├─ torch/ # 环境 torch 安装包 patch 文件 | ||
| 19 | + └─ ...(其他补丁子目录) | ||
| 18 | ``` | 20 | ``` |
| 19 | 21 | ||
| 22 | +## 脚本说明 | ||
| 23 | + | ||
| 24 | +本目录包含两类 patch,分别由不同脚本负责应用: | ||
| 25 | + | ||
| 26 | +| 脚本 | patch 目录 | 应用目标 | | ||
| 27 | +|------|-----------|---------| | ||
| 28 | +| `apply_test_patch.sh` | `test/` | PyTorch 源码中的测试文件 | | ||
| 29 | +| `torch_env_patch.sh` | `torch/` | Python 环境中安装的 torch 包 | | ||
| 30 | + | ||
| 31 | +两个脚本相互独立,互不干扰。 | ||
| 32 | + | ||
| 20 | ## 环境要求 | 33 | ## 环境要求 |
| 21 | 34 | ||
| 22 | -仅需安装git即可 | 35 | +- `apply_test_patch.sh`:仅需安装 git |
| 36 | +- `torch_env_patch.sh`:需要 Python 环境已安装 torch 包 | ||
| 23 | 37 | ||
| 24 | ## 使用方法 | 38 | ## 使用方法 |
| 25 | 39 | ||
| 26 | -1. 将本仓库的test_upstream文件夹整体复制到本地的PyTorch官方仓库中 | 40 | +### apply_test_patch.sh —— 源码测试 patch |
| 27 | 41 | ||
| 28 | -2. 运行脚本文件 | 42 | +将 `test/` 目录下的 patch 应用到 PyTorch 源码中的测试文件。 |
| 43 | + | ||
| 44 | +1. 将本仓库的 test_upstream 文件夹整体复制到 PyTorch 官方仓库中 | ||
| 45 | +2. 运行脚本: | ||
| 29 | 46 | ||
| 30 | ```bash | 47 | ```bash |
| 31 | cd test_upstream | 48 | cd test_upstream |
| 32 | ./apply_test_patch.sh | 49 | ./apply_test_patch.sh |
| 33 | ``` | 50 | ``` |
| 34 | 51 | ||
| 35 | -脚本执行说明:自动定位 PyTorch 根目录,递归扫描所有 .patch文件,按文件名排序强制应用,冲突部分生成 .rej 文件. | 52 | +脚本自动定位 PyTorch 根目录,递归扫描 `test/` 目录下所有 .patch/.diff 文件,按文件名排序强制应用,冲突部分生成 .rej 文件。 |
| 53 | + | ||
| 54 | +### torch_env_patch.sh —— 环境 torch 包 patch | ||
| 55 | + | ||
| 56 | +将 `torch/` 目录下的 patch 应用到 Python 环境中已安装的 torch 包(如 site-packages/torch)。 | ||
| 57 | + | ||
| 58 | +1. 确保 Python 环境已安装 torch 包 | ||
| 59 | +2. 运行脚本: | ||
| 60 | + | ||
| 61 | +```bash | ||
| 62 | +cd test_upstream | ||
| 63 | +./torch_env_patch.sh [--python=<version>] | ||
| 64 | +``` | ||
| 65 | + | ||
| 66 | +脚本自动定位 torch 包的安装路径,将 `torch/` 目录下的 patch 应用到对应文件。 | ||
| 36 | 67 | ||
| 37 | ## 注意事项 | 68 | ## 注意事项 |
| 38 | 69 | ||
| 39 | - 所有补丁仅适配 PyTorch tags/v2.7.1,其他版本将导致应用失败,务必提前校验版本。 | 70 | - 所有补丁仅适配 PyTorch tags/v2.7.1,其他版本将导致应用失败,务必提前校验版本。 |
| 40 | - test_upstream 目录需整体复制至 PyTorch 根目录。 | 71 | - test_upstream 目录需整体复制至 PyTorch 根目录。 |
| 72 | +- `apply_test_patch.sh` 仅应用 `test/` 下的 patch 到源码,不会触碰 `torch/` 目录。 | ||
| 73 | +- `torch_env_patch.sh` 仅应用 `torch/` 下的 patch 到安装后的 torch 包,不会触碰 `test/` 目录。 | ||
| 41 | - 生成 .rej 冲突文件时,需手动解决冲突后重新执行脚本。 | 74 | - 生成 .rej 冲突文件时,需手动解决冲突后重新执行脚本。 |