| fix: 修复build check头部检查问题 Co-authored-by: QQR<qiuqianru@h-partners.com> # message auto-generated for no-merge-commit merge: !240 merge fix/build-check-file-headers into master fix: 修复build check头部检查问题 Created-by: annqr Commit-by: QQR Merged-by: cann-robot Description: ## 描述 修复 build check 报告的脚本严格模式、版权头和 UTF-8 编码声明问题。 - .gitcode/scripts 下 3 个 shell 脚本启用 set -euo pipefail,并保持可选环境变量原有默认语义。 - 为 archive_progress.py 和 hyv3/__init__.py 补充 Huawei 版权头。 - 为指定 Python 文件补充 UTF-8 编码声明。 ## 如何测试 - 3 个 shell 脚本均通过 bash -n。 - 版权头和 UTF-8 编码声明逐文件检查通过。 - 相关 Python 文件通过 py_compile。 - git diff --check 通过。 ## 文档更新 无用户文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!240 | 5 天前 |
| feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 Co-authored-by: xieyajun<xieyajun1@huawei.com> # message auto-generated for no-merge-commit merge: !190 merge feat/agent-symlink-autoload into master feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 Created-by: xieyajun Commit-by: xieyajun Merged-by: cann-robot Description: ## 描述 将 Agent 配置的分发机制从「手动执行脚本生成」改为「git-tracked 符号链接自动加载」,并配套 Windows 兼容修复与文档完善。 ### 一、结构改造(tracked symlink) - 新增 7 个 mode 120000 git-tracked symlink:.claude/{skills,agents,hooks,docs} 和 .opencode/{skills,agents,docs} 指向 .agents/ 对应路径,clone 后即可直接使用,无需手动执行安装脚本 - 删除 scripts/init-agent.sh(115 行),该脚本在 symlink 机制下完全冗余 - .gitignore 移除对 /.claude/、/.opencode/、/CLAUDE.md 的忽略规则(已改为 tracked) - AGENTS.md 新增「Agent Skills」段落,说明自动加载机制并修正 gitcode skill 引用路径 ### 二、配置文件迁移与 Windows 兼容 - .agents/settings.json → .claude/settings.json(R100,真实文件 100644) - .agents/opencode.json → .opencode/opencode.json(R100,真实文件 100644) - 配置文件改为真实文件后,Windows 下 core.symlinks=false 时客户端仍可正常启动 - settings.json 完整保留 45 项权限(含 amct-ops-dev、install-default-skills 等),与 master 一致 ### 三、文档完善 - .agents/README.md:重写标题与定位描述,补充内置技能清单;新增 Windows symlink 修复指引(3 种方式:管理员终端 / 开发者模式 / mklink /J) - .agents/docs/architecture.md:§3 单一源投影机制重写,移除 init-agent.sh 和 CLAUDE.md 引用 - .agents/docs/README.md:移除 roadmap.md 引用 - 删除 .agents/docs/roadmap.md(规划已过时,内容与 architecture.md 重复) ### 四、default-skills 增强 - SKILL.md:场景化拆分(补装缺失 / 强制更新两种场景) - install-default-skills.sh:新增 --force 参数,默认跳过已存在 skill ### 五、hooks 改进 - subagent_stop.py:新增 cleanup_stale_counters(),懒清理 /tmp 下超过 48 小时的计数文件 ## 如何测试 1. Linux/macOS(symlink 正常):git clone 后直接进入项目目录,Claude Code / OpenCode 自动加载所有 skills 2. Windows: - OpenCode 无需额外操作,原生扫描 .agents/skills/ - Claude Code 需管理员终端执行 git config core.symlinks true && git checkout HEAD -- .claude 后自动加载 3. 验证 settings.json 权限完整性:确认 amct-ops-dev、install-default-skills、planning-with-files、skill-creator 均在 allow 列表中 4. 确认 scripts/init-agent.sh 已删除,CLAUDE.md 不存在 ## 文档更新 - .agents/README.md:全面重写,新增内置技能清单与 Windows 修复指引 - .agents/docs/architecture.md:§3 投影机制描述更新 - .agents/docs/README.md:移除 roadmap 引用 - .agents/docs/roadmap.md:已删除 - AGENTS.md:新增 Agent Skills 段落,修正 gitcode skill 路径 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!190 | 1 个月前 |
| feature分支不跑ut Co-authored-by: cui_jiahao<cuijiahao5@h-partners.com> # message auto-generated for no-merge-commit merge: !301 merge master into master feature分支不跑ut Created-by: cui_jiahao Commit-by: cui_jiahao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!301 | 1 天前 |
| feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 Co-authored-by: xieyajun<xieyajun1@huawei.com> # message auto-generated for no-merge-commit merge: !190 merge feat/agent-symlink-autoload into master feat(agents): tracked symlink 自动加载,兼容 Windows 客户端 Created-by: xieyajun Commit-by: xieyajun Merged-by: cann-robot Description: ## 描述 将 Agent 配置的分发机制从「手动执行脚本生成」改为「git-tracked 符号链接自动加载」,并配套 Windows 兼容修复与文档完善。 ### 一、结构改造(tracked symlink) - 新增 7 个 mode 120000 git-tracked symlink:.claude/{skills,agents,hooks,docs} 和 .opencode/{skills,agents,docs} 指向 .agents/ 对应路径,clone 后即可直接使用,无需手动执行安装脚本 - 删除 scripts/init-agent.sh(115 行),该脚本在 symlink 机制下完全冗余 - .gitignore 移除对 /.claude/、/.opencode/、/CLAUDE.md 的忽略规则(已改为 tracked) - AGENTS.md 新增「Agent Skills」段落,说明自动加载机制并修正 gitcode skill 引用路径 ### 二、配置文件迁移与 Windows 兼容 - .agents/settings.json → .claude/settings.json(R100,真实文件 100644) - .agents/opencode.json → .opencode/opencode.json(R100,真实文件 100644) - 配置文件改为真实文件后,Windows 下 core.symlinks=false 时客户端仍可正常启动 - settings.json 完整保留 45 项权限(含 amct-ops-dev、install-default-skills 等),与 master 一致 ### 三、文档完善 - .agents/README.md:重写标题与定位描述,补充内置技能清单;新增 Windows symlink 修复指引(3 种方式:管理员终端 / 开发者模式 / mklink /J) - .agents/docs/architecture.md:§3 单一源投影机制重写,移除 init-agent.sh 和 CLAUDE.md 引用 - .agents/docs/README.md:移除 roadmap.md 引用 - 删除 .agents/docs/roadmap.md(规划已过时,内容与 architecture.md 重复) ### 四、default-skills 增强 - SKILL.md:场景化拆分(补装缺失 / 强制更新两种场景) - install-default-skills.sh:新增 --force 参数,默认跳过已存在 skill ### 五、hooks 改进 - subagent_stop.py:新增 cleanup_stale_counters(),懒清理 /tmp 下超过 48 小时的计数文件 ## 如何测试 1. Linux/macOS(symlink 正常):git clone 后直接进入项目目录,Claude Code / OpenCode 自动加载所有 skills 2. Windows: - OpenCode 无需额外操作,原生扫描 .agents/skills/ - Claude Code 需管理员终端执行 git config core.symlinks true && git checkout HEAD -- .claude 后自动加载 3. 验证 settings.json 权限完整性:确认 amct-ops-dev、install-default-skills、planning-with-files、skill-creator 均在 allow 列表中 4. 确认 scripts/init-agent.sh 已删除,CLAUDE.md 不存在 ## 文档更新 - .agents/README.md:全面重写,新增内置技能清单与 Windows 修复指引 - .agents/docs/architecture.md:§3 投影机制描述更新 - .agents/docs/README.md:移除 roadmap 引用 - .agents/docs/roadmap.md:已删除 - AGENTS.md:新增 Agent Skills 段落,修正 gitcode skill 路径 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!190 | 1 个月前 |
| fix: 优化日志输出和错误描述(#191) Co-authored-by: zhengpeiyang<zhengpeiyang@huawei.com> # message auto-generated for no-merge-commit merge: !289 merge fix/amct-c07-b01 into master fix: 优化日志输出和错误描述(#191) Created-by: zhengpeiyang Commit-by: zhengpeiyang Merged-by: cann-robot Description: ## 描述 关联 Issue:#191 本 PR 解决以下日志问题类别: - 禁止自定义打印 - 缺少度量单位 - 错误描述不完整 - 冗余日志 ## 如何测试 本地 pre-commit、代码格式、拼写和 Python 语法检查已通过;CANN 工具链及 NPU 相关测试由 PR 流水线验证。 ## 文档更新 不涉及对外文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!289 | 2 天前 |
| 对既有MXFP8格式的模型权重转为BF16格式工具的功能补充 Co-authored-by: zhangj1an<jianmusings@gmail.com> Co-authored-by: Wujie_Fu<wujie_fu@u.nus.edu> # message auto-generated for no-merge-commit merge: !287 merge mxfp8_to_hif4 into master 对既有MXFP8格式的模型权重转为BF16格式工具的功能补充 Created-by: Wujie_Fu Commit-by: zhangj1an;Wujie_Fu Merged-by: cann-robot Description: ## 描述 主分支上目前暂不支持对于OCP格式的MXFP8解码到BF16功能。原因是代码会把uint8/int8的scale当浮点来还原(就是把scale直接转为bf16),但其实里面存储的是指数幂,需要用2^scale来还原。(参见 https://gitcode.com/cann/amct/issues/190) 这份PR按照OCP MXFP8( https://www.opencompute.org/documents/ocp-8-bit-floating-point-specification-ofp8-revision-1-0-2023-12-01-pdf-1 )的标准支持了解码功能。当输入的模型scale dtype是uint8/int8,而且weight dtype是float8_e4m3fn或者float8_e5m2时,就会检测为MXFP8格式,并路由到mxfp_impl.py做对应解码。经过调研,目前社区中没有其他的MXFP8格式需要支持。 ## 如何测试 首先去HF下载一份qwen3.5-9b的mxfp8模型权重,Lexter3000/Qwen3.5_9b_mxfp8。另外也下载好原版的BF16模型, Qwen/Qwen3.5-9B。 然后测试以下四种格式的精度: mxfp8 bf16 mxfp8反量化为bf16 mxfp8伪量化为hif4。在lm_eval框架上,测试结果显示mxfp8版本与mxfp8转bf16精度一致,符合预期。 | 任务 | bf16 | mxfp8 | mxfp8tobf16 | mxfp8tohif4 | |---|---|---|---|---| | boolq (acc) | 89.08 | 74.40 | 74.40 | 78.04 | | arc_easy (acc_norm) | 74.20 | 71.68 | 71.68 | 73.70 | | copa (acc) | 89.00 | 87.00 | 87.00 | 90.00 | | arc_challenge (acc_norm) | 55.89 | 53.92 | 53.92 | 54.78 | | piqa (acc_norm) | 80.09 | 80.20 | 80.20 | 78.62 | | sciq (acc_norm) | 96.00 | 93.90 | 93.90 | 94.10 | 可以用以下命令进行格式转换, ### 4.2 MXFP8 → bf16(tensorwise deploy) bash cd amct python -m amct_pytorch.cli.llm.deploy \ --granularity tensor --model_name qwen3_5 \ --model /<model_dir>/Qwen3.5-9B-MXFP8 \ --output_dir /<model_dir>/Qwen3.5-9B-mxfp8_to_bf16 ### 4.3 MXFP8 → HiF4 W4A4(两步 deploy) bash # step 1: mxfp8 -> bf16(和上一步相同) # step 2: blockwise bf16 -> hif4 python -m amct_pytorch.cli.llm.deploy \ --granularity block --model_name qwen3_5 \ --model /<model_dir>/Qwen3.5-9B-mxfp8_to_bf16 \ --output_dir /<model_dir>/Qwen3.5-9B-mxfp8_to_hif4 \ --eval_mode quant --quant_dtype hifp \ --quant_target mlp attn-linear \ --bit_config amct_pytorch/configs/w4a4.yaml ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!287 | 1 天前 |
| 升级cann-cmake至master-049,适配gcc-15/gcc-16 Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge master into master 升级cann-cmake至master-049,适配gcc-15/gcc-16 Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 升级cann-cmake至master-049,获取abseil-cpp GCC 15/16 兼容补丁,配合gcc-15/gcc-16 适配需求 ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> CC=gcc-15 CXX=g++-15 bash build.sh --torch编译通过 CC=gcc-16 CXX=g++-16 bash build.sh --torch编译通过 bash build.sh -u UT验证,gcc-15与gcc-13结果一致 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了SECURITY.md和SECURITY_en.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 其他,请描述:构建过程或辅助工具的变动 See merge request: cann/amct!263 | 8 天前 |
| fix: [Docs] 全仓 md 相对链接锚点失配 9 处(slug 规则校验) (#187) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !291 merge fix-issue-187 into master fix: [Docs] 全仓 md 相对链接锚点失配 9 处(slug 规则校验) (#187) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 - 修复 Markdown 相对链接锚点失配,确保 Qwen3.6 中英文样例和算法文档内部链接可正常跳转。 - 补齐 Qwen3.6-MoE 中英文样例配套修改,避免文档同步检查拦截。 - 关联 Issue: https://gitcode.com/cann/amct/issues/187 ## 变更文件 - docs/zh/algorithm_brief.md - examples/models/qwen3.6/Qwen3.6-Moe.md - examples/models/qwen3.6/Qwen3.6-Moe_en.md ## 如何测试 - 运行全仓 Markdown 相对锚点校验:checked_anchor_links=118,broken_anchor_links=0 - PASS markdown relative anchor check - git diff --check 通过 ## 风险和遗留问题 - 仅修改文档链接锚点和中英文样例说明,不涉及代码行为。 See merge request: cann/amct!291 | 5 天前 |
| fix: 优化日志输出和错误描述(#191) Co-authored-by: zhengpeiyang<zhengpeiyang@huawei.com> # message auto-generated for no-merge-commit merge: !289 merge fix/amct-c07-b01 into master fix: 优化日志输出和错误描述(#191) Created-by: zhengpeiyang Commit-by: zhengpeiyang Merged-by: cann-robot Description: ## 描述 关联 Issue:#191 本 PR 解决以下日志问题类别: - 禁止自定义打印 - 缺少度量单位 - 错误描述不完整 - 冗余日志 ## 如何测试 本地 pre-commit、代码格式、拼写和 Python 语法检查已通过;CANN 工具链及 NPU 相关测试由 PR 流水线验证。 ## 文档更新 不涉及对外文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!289 | 2 天前 |
| 更新.pre-commit-config.yaml,统一repo和rev Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !251 merge master into master 更新.pre-commit-config.yaml,统一repo和rev Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新.pre-commit-config.yaml,统一repo和rev ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新.pre-commit-config.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [√] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!251 | 19 天前 |
| 对既有MXFP8格式的模型权重转为BF16格式工具的功能补充 Co-authored-by: zhangj1an<jianmusings@gmail.com> Co-authored-by: Wujie_Fu<wujie_fu@u.nus.edu> # message auto-generated for no-merge-commit merge: !287 merge mxfp8_to_hif4 into master 对既有MXFP8格式的模型权重转为BF16格式工具的功能补充 Created-by: Wujie_Fu Commit-by: zhangj1an;Wujie_Fu Merged-by: cann-robot Description: ## 描述 主分支上目前暂不支持对于OCP格式的MXFP8解码到BF16功能。原因是代码会把uint8/int8的scale当浮点来还原(就是把scale直接转为bf16),但其实里面存储的是指数幂,需要用2^scale来还原。(参见 https://gitcode.com/cann/amct/issues/190) 这份PR按照OCP MXFP8( https://www.opencompute.org/documents/ocp-8-bit-floating-point-specification-ofp8-revision-1-0-2023-12-01-pdf-1 )的标准支持了解码功能。当输入的模型scale dtype是uint8/int8,而且weight dtype是float8_e4m3fn或者float8_e5m2时,就会检测为MXFP8格式,并路由到mxfp_impl.py做对应解码。经过调研,目前社区中没有其他的MXFP8格式需要支持。 ## 如何测试 首先去HF下载一份qwen3.5-9b的mxfp8模型权重,Lexter3000/Qwen3.5_9b_mxfp8。另外也下载好原版的BF16模型, Qwen/Qwen3.5-9B。 然后测试以下四种格式的精度: mxfp8 bf16 mxfp8反量化为bf16 mxfp8伪量化为hif4。在lm_eval框架上,测试结果显示mxfp8版本与mxfp8转bf16精度一致,符合预期。 | 任务 | bf16 | mxfp8 | mxfp8tobf16 | mxfp8tohif4 | |---|---|---|---|---| | boolq (acc) | 89.08 | 74.40 | 74.40 | 78.04 | | arc_easy (acc_norm) | 74.20 | 71.68 | 71.68 | 73.70 | | copa (acc) | 89.00 | 87.00 | 87.00 | 90.00 | | arc_challenge (acc_norm) | 55.89 | 53.92 | 53.92 | 54.78 | | piqa (acc_norm) | 80.09 | 80.20 | 80.20 | 78.62 | | sciq (acc_norm) | 96.00 | 93.90 | 93.90 | 94.10 | 可以用以下命令进行格式转换, ### 4.2 MXFP8 → bf16(tensorwise deploy) bash cd amct python -m amct_pytorch.cli.llm.deploy \ --granularity tensor --model_name qwen3_5 \ --model /<model_dir>/Qwen3.5-9B-MXFP8 \ --output_dir /<model_dir>/Qwen3.5-9B-mxfp8_to_bf16 ### 4.3 MXFP8 → HiF4 W4A4(两步 deploy) bash # step 1: mxfp8 -> bf16(和上一步相同) # step 2: blockwise bf16 -> hif4 python -m amct_pytorch.cli.llm.deploy \ --granularity block --model_name qwen3_5 \ --model /<model_dir>/Qwen3.5-9B-mxfp8_to_bf16 \ --output_dir /<model_dir>/Qwen3.5-9B-mxfp8_to_hif4 \ --eval_mode quant --quant_dtype hifp \ --quant_target mlp attn-linear \ --bit_config amct_pytorch/configs/w4a4.yaml ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!287 | 1 天前 |
| 新增文件 .clang-format,保证格式规范统一 Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !61 merge amct_open-patch-2 into master 新增文件 .clang-format,保证格式规范统一 Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 新增文件 .clang-format,保证C++代码格式规范统一 ## 如何测试 自动规范提交代码格式 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!61 | 5 个月前 |
| [Feature] Added structured pruning (amct_pytorch.pruning) Co-authored-by: leedongkun30-arch<lee.dongkun30@gmail.com> # message auto-generated for no-merge-commit merge: !140 merge feat/pruning into master [Feature] Added structured pruning (amct_pytorch.pruning) Created-by: leedongkun30-arch Commit-by: leedongkun30-arch Merged-by: cann-robot Description: ## 描述 新增 eager 模式**结构化剪枝**子系统 amct_pytorch.pruning,接口风格与 amct.quantize 对齐:对已实例化并加载权重的 torch.nn.Module 原地剪枝。覆盖三个目标域——**dense FFN 中间维 / CNN 通道 / MoE 专家**,仅剪枝“生产者↔消费者接口可验证”的维度,其余保守跳过(注意力投影、残差宽度等自动排除)。 改动为**增量式**:仅在 amct_pytorch/__init__.py 中以 PEP 562 惰性方式暴露剪枝入口,不修改既有量化代码;与 classic/graph_based 剪枝器共存,并复用其精度抽象 AutoCalibrationEvaluatorBase,使 prune→quantize 在同一预算下串联。 公开接口(__all__,与量化 1:1 对齐): - amct.prune(model, config=None, *, data, tolerance, evaluator, size_budget, finetune_fn, report) —— 原地剪枝,返回 None;可选传入 report=PruneReport() 就地收集统计(不保留任何进程级状态)。 - amct.accuracy_based_auto_prune(...) —— 按可接受精度损失自动搜索并应用满足容差的最大剪枝率,返回 AutoTuneResult,对应量化侧 accuracy_based_auto_calibration。 - 预定义配置 *_PRUNE_CFG:CNN_RECONSTRUCT / CNN_VARIANCE / DENSE_LOWVAR / FULL_STRUCTURED / MOE_MASSVAR / MOE_OUTPUT_MERGE / SENSITIVITY_ALLOC。 size_budget_prune / prune_finetune / prune_diagnose 及菜单配置为高级接口,可从 amct_pytorch.pruning 导入,不进入 __all__。剪枝与量化为正交压缩维度:先 prune 改变形状,再 amct.quantize / amct.convert。 ### 实测参考 在 16 个从零训练模型(CNN@MNIST / Dense-LM·MoE-LM@WikiText)与真实预训练 HF 模型上测得,供评审参考: - **CNN 输出保持重建**:训练后 MNIST CNN @0.3,naive variance_channel 0.343 vs reconstruct 0.574(参数量相同)。 - **Dense-LM 1% 预算空间**:无 finetune ≈0%;单遍 finetune(lr 1e-5 + warmup)后中位 27%(最高 61%)。真实 MoE(granite-1b-a400m)同样需要 finetune(≈0% → 17%)。 - **MoE 专家判据依赖路由深度**:全局 variance 劣于 mass,仅深层用 variance(boundary=K)在多专家路由上胜过 mass(OLMoE held-ppl 46.9→35.3);小专家路由(granite,32 专家)下菜单守卫正确回退到 mass。 - **敏感度分配依赖深度**:浅层网络(<10 层)6/6 胜,深层(≥10 层)4/19;guard='calib_nll' 在更差时回退均匀分配。 - **prune→int8 串联**:经恢复菜单剪枝的 SmolLM-135M 走完整 prune→int8→convert 流水线,ppl 1.649 → 剪枝后 1.699 → 叠加 int8 1.704。 ## 如何测试 本地运行单元测试: python -m pytest tests/amct_pytorch/test_pruning_*.py 覆盖核心剪枝、容差自动搜索、跨层敏感度分配、尺寸预算模式、MoE 输出合并、prune→quantize 串联,以及真实 HF 模型(Mixtral / Qwen3Moe / GraniteMoe / DeepseekV3 / Ernie4_5_Moe 等),全部通过。 ## 文档更新 - 新增 docs/zh/api/:prune.md、accuracy_based_auto_prune.md、size_budget_prune.md、prune_finetune.md、prune_diagnose.md、pruning_configs.md,并在 docs/zh/api/README.md 索引中登记。 - 新增示例 examples/algorithms/pruning/(dense / CNN / MoE)。 - amct_pytorch/pruning/README.md / README_en.md 增补“工作原理”走查(打分 → 剪枝 → 恢复 →(可选)量化),并配 5 张流程图(总流程、三个可剪枝的域、容差二分搜索、菜单择优、prune→quantize 串联),图片位于 amct_pytorch/pruning/figures/。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!140 | 20 天前 |
| 更新.pre-commit-config.yaml,统一repo和rev Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !251 merge master into master 更新.pre-commit-config.yaml,统一repo和rev Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新.pre-commit-config.yaml,统一repo和rev ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新.pre-commit-config.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [√] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!251 | 19 天前 |
| 更新.pre-commit-config.yaml,统一repo和rev Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !251 merge master into master 更新.pre-commit-config.yaml,统一repo和rev Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新.pre-commit-config.yaml,统一repo和rev ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新.pre-commit-config.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [√] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!251 | 19 天前 |
| [Feature] Added structured pruning (amct_pytorch.pruning) Co-authored-by: leedongkun30-arch<lee.dongkun30@gmail.com> # message auto-generated for no-merge-commit merge: !140 merge feat/pruning into master [Feature] Added structured pruning (amct_pytorch.pruning) Created-by: leedongkun30-arch Commit-by: leedongkun30-arch Merged-by: cann-robot Description: ## 描述 新增 eager 模式**结构化剪枝**子系统 amct_pytorch.pruning,接口风格与 amct.quantize 对齐:对已实例化并加载权重的 torch.nn.Module 原地剪枝。覆盖三个目标域——**dense FFN 中间维 / CNN 通道 / MoE 专家**,仅剪枝“生产者↔消费者接口可验证”的维度,其余保守跳过(注意力投影、残差宽度等自动排除)。 改动为**增量式**:仅在 amct_pytorch/__init__.py 中以 PEP 562 惰性方式暴露剪枝入口,不修改既有量化代码;与 classic/graph_based 剪枝器共存,并复用其精度抽象 AutoCalibrationEvaluatorBase,使 prune→quantize 在同一预算下串联。 公开接口(__all__,与量化 1:1 对齐): - amct.prune(model, config=None, *, data, tolerance, evaluator, size_budget, finetune_fn, report) —— 原地剪枝,返回 None;可选传入 report=PruneReport() 就地收集统计(不保留任何进程级状态)。 - amct.accuracy_based_auto_prune(...) —— 按可接受精度损失自动搜索并应用满足容差的最大剪枝率,返回 AutoTuneResult,对应量化侧 accuracy_based_auto_calibration。 - 预定义配置 *_PRUNE_CFG:CNN_RECONSTRUCT / CNN_VARIANCE / DENSE_LOWVAR / FULL_STRUCTURED / MOE_MASSVAR / MOE_OUTPUT_MERGE / SENSITIVITY_ALLOC。 size_budget_prune / prune_finetune / prune_diagnose 及菜单配置为高级接口,可从 amct_pytorch.pruning 导入,不进入 __all__。剪枝与量化为正交压缩维度:先 prune 改变形状,再 amct.quantize / amct.convert。 ### 实测参考 在 16 个从零训练模型(CNN@MNIST / Dense-LM·MoE-LM@WikiText)与真实预训练 HF 模型上测得,供评审参考: - **CNN 输出保持重建**:训练后 MNIST CNN @0.3,naive variance_channel 0.343 vs reconstruct 0.574(参数量相同)。 - **Dense-LM 1% 预算空间**:无 finetune ≈0%;单遍 finetune(lr 1e-5 + warmup)后中位 27%(最高 61%)。真实 MoE(granite-1b-a400m)同样需要 finetune(≈0% → 17%)。 - **MoE 专家判据依赖路由深度**:全局 variance 劣于 mass,仅深层用 variance(boundary=K)在多专家路由上胜过 mass(OLMoE held-ppl 46.9→35.3);小专家路由(granite,32 专家)下菜单守卫正确回退到 mass。 - **敏感度分配依赖深度**:浅层网络(<10 层)6/6 胜,深层(≥10 层)4/19;guard='calib_nll' 在更差时回退均匀分配。 - **prune→int8 串联**:经恢复菜单剪枝的 SmolLM-135M 走完整 prune→int8→convert 流水线,ppl 1.649 → 剪枝后 1.699 → 叠加 int8 1.704。 ## 如何测试 本地运行单元测试: python -m pytest tests/amct_pytorch/test_pruning_*.py 覆盖核心剪枝、容差自动搜索、跨层敏感度分配、尺寸预算模式、MoE 输出合并、prune→quantize 串联,以及真实 HF 模型(Mixtral / Qwen3Moe / GraniteMoe / DeepseekV3 / Ernie4_5_Moe 等),全部通过。 ## 文档更新 - 新增 docs/zh/api/:prune.md、accuracy_based_auto_prune.md、size_budget_prune.md、prune_finetune.md、prune_diagnose.md、pruning_configs.md,并在 docs/zh/api/README.md 索引中登记。 - 新增示例 examples/algorithms/pruning/(dense / CNN / MoE)。 - amct_pytorch/pruning/README.md / README_en.md 增补“工作原理”走查(打分 → 剪枝 → 恢复 →(可选)量化),并配 5 张流程图(总流程、三个可剪枝的域、容差二分搜索、菜单择优、prune→quantize 串联),图片位于 amct_pytorch/pruning/figures/。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!140 | 20 天前 |
| build: use cann third party protobuf Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !124 merge fix/use-add-cann-third-party into master build: use cann third party protobuf Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: 关联 Issue:#121 ## 描述 将本仓 protobuf 三方依赖迁移到 cann-cmake 统一入口: - 使用 add_cann_third_party(protobuf) 替换本地 cmake/third_party/protobuf.cmake。 - 开启 ENABLE_OPEN_SRC,确保统一 protobuf 脚本创建 host_protoc、ascend_protobuf_static 等目标。 - 将 proto 编译路径从旧的 build/protobuf_host/bin/protoc 切换为 $<TARGET_FILE:host_protoc>。 - 删除迁移后不再需要的本地 protobuf 脚本和 patch 文件。 ## 如何测试 - git diff --check - cmake -S . -B build_add_cann_third_party_default_check -DENABLE_TEST=OFF - cmake -S . -B build_add_cann_third_party_test_check -DENABLE_TEST=ON 说明:ENABLE_TEST=ON 配置过程中当前环境会打印已有的 torch_npu 后端符号错误 traceback,但 CMake 退出码为 0 并完成配置生成。 ## 文档更新 不涉及文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:构建依赖迁移 See merge request: cann/amct!124 | 3 个月前 |
| update CONRIBUTING.md for coding-standards Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !21 merge docs into master update CONRIBUTING.md for coding-standards Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 更新CONRIBUTING.md中关于特性代码风格及代码规范的说明链接 ## 如何测试 走读CONRIBUTING.md文档,描述无误 ## 文档更新 更新了CONRIBUTING.md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!21 | 6 个月前 |
| docs: add English translation for all markdown documentation files Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !143 merge master into master docs: add English translation for all markdown documentation files Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: ## 描述 更新英文非产品文档资料 ## 如何测试 根据最新的中文md资料进行测试 ## 文档更新 非docs目录下的所有xx_en.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!143 | 2 个月前 |
| Initial commit | 8 个月前 |
| docs: add English translation for all markdown documentation files Co-authored-by: sophia1213<sophie.chen@huawei.com> # message auto-generated for no-merge-commit merge: !143 merge master into master docs: add English translation for all markdown documentation files Created-by: sophia1213 Commit-by: sophia1213 Merged-by: cann-robot Description: ## 描述 更新英文非产品文档资料 ## 如何测试 根据最新的中文md资料进行测试 ## 文档更新 非docs目录下的所有xx_en.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!143 | 2 个月前 |
| Initial commit | 8 个月前 |
| 更新.pre-commit-config.yaml,统一repo和rev Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !251 merge master into master 更新.pre-commit-config.yaml,统一repo和rev Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新.pre-commit-config.yaml,统一repo和rev ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新.pre-commit-config.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [√] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!251 | 19 天前 |
| update: 更新文件 README.md Signed-off-by: Whn0604 <wuhannan1@h-partners.com> | 1 天前 |
| update: 更新文件 README_en.md Signed-off-by: Whn0604 <wuhannan1@h-partners.com> | 1 天前 |
| 升级cann-cmake至master-049,适配gcc-15/gcc-16 Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge master into master 升级cann-cmake至master-049,适配gcc-15/gcc-16 Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 升级cann-cmake至master-049,获取abseil-cpp GCC 15/16 兼容补丁,配合gcc-15/gcc-16 适配需求 ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> CC=gcc-15 CXX=g++-15 bash build.sh --torch编译通过 CC=gcc-16 CXX=g++-16 bash build.sh --torch编译通过 bash build.sh -u UT验证,gcc-15与gcc-13结果一致 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了SECURITY.md和SECURITY_en.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 其他,请描述:构建过程或辅助工具的变动 See merge request: cann/amct!263 | 8 天前 |
| 升级cann-cmake至master-049,适配gcc-15/gcc-16 Co-authored-by: Whn0604<wuhannan1@h-partners.com> # message auto-generated for no-merge-commit merge: !263 merge master into master 升级cann-cmake至master-049,适配gcc-15/gcc-16 Created-by: Whn0604 Commit-by: Whn0604 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 升级cann-cmake至master-049,获取abseil-cpp GCC 15/16 兼容补丁,配合gcc-15/gcc-16 适配需求 ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> CC=gcc-15 CXX=g++-15 bash build.sh --torch编译通过 CC=gcc-16 CXX=g++-16 bash build.sh --torch编译通过 bash build.sh -u UT验证,gcc-15与gcc-13结果一致 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了SECURITY.md和SECURITY_en.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 其他,请描述:构建过程或辅助工具的变动 See merge request: cann/amct!263 | 8 天前 |
| 接入cann公共cmake仓 Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !78 merge public into master 接入cann公共cmake仓 Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 删除实际未使用到的cmakefile 接入cann公共cmake仓 ## 如何测试 bash build.sh --pkg生成amct包 ## 文档更新 更新了SECURITY.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!78 | 4 个月前 |
| [feat] add DeepSeek-V3.2-Exp W8A8C8/W4A8C8 quantization support Co-authored-by: SwaggyAlex<zhangyi601@huawei.com> # message auto-generated for no-merge-commit merge: !3 merge master into master [feat] add DeepSeek-V3.2-Exp W8A8C8/W4A8C8 quantization support Created-by: SwaggyAlex Commit-by: SwaggyAlex Merged-by: cann-robot Description: # 描述 新增对DeepSeek-V3.2-Exp W8A8C8/W4A8C8的量化支持,提供逐block的calibration数据dump、模型训练、精度测验、权重转换脚本,以及使用说明文档 # 类型 [ ] Bug修复 [x] 新功能 [ ] 重构(即不是新增,也不是修改bug的代码改动) [x] 构建过程或辅助工具的变动 [x] 文档内容更新 # 使用说明 **使用前请在sh文件内设置对应模型路径、输出路径等变量** # calibration数据dump bash scripts/dump.sh # 模型训练 bash scripts/train.sh # ppl测算 bash scripts/val.sh # 量化权重输出 bash scripts/deploy.sh # CheckList: [x] 我的代码遵循这个项目的代码风格 [x] 我已经自己测试过我的代码 [x] 我已经更新了对应的文档 [x] 我已经在标题中正确使用了类型标签(例如:feat, fix, refactor, docs, test) # 其他信息 See merge request: cann/amct!3 | 8 个月前 |
| feat: build.sh 按配置变更自动决定是否清理缓存 Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !173 merge feat/incremental-build into master feat: build.sh 按配置变更自动决定是否清理缓存 Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 原来每次构建都无条件删除 build/ 目录,导致无法利用增量编译,每次均为全量构建。 改为读取 CMakeCache.txt 中的关键编译参数(CMAKE_BUILD_TYPE、ENABLE_EXPERIMENTAL、ENABLE_ASAN),仅在这些值发生变化时才清理缓存,其余情况复用已有构建产物。 用户无需感知清理时机,脚本自动判断: - 编译参数未变(包括混用 --torch/--pkg)→ 增量构建 - --build-type、--experimental、--asan 有变化 → 自动全量清理后重建 - 首次构建或 build/ 不存在 → 直接创建,正常构建 ## 如何测试 1. 执行 bash build.sh --torch,记录编译时间 2. 再次执行 bash build.sh --torch,确认复用缓存,编译时间明显缩短 3. 执行 bash build.sh --torch --build-type=Debug,确认输出 Build config changed, cleaning build cache... 并全量重建 4. 混用 bash build.sh --pkg 与 bash build.sh --torch,确认无问题 ## 文档更新 无需更新文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!173 | 2 个月前 |
| [feat] add DeepSeek-V3.2-Exp W8A8C8/W4A8C8 quantization support Co-authored-by: SwaggyAlex<zhangyi601@huawei.com> # message auto-generated for no-merge-commit merge: !3 merge master into master [feat] add DeepSeek-V3.2-Exp W8A8C8/W4A8C8 quantization support Created-by: SwaggyAlex Commit-by: SwaggyAlex Merged-by: cann-robot Description: # 描述 新增对DeepSeek-V3.2-Exp W8A8C8/W4A8C8的量化支持,提供逐block的calibration数据dump、模型训练、精度测验、权重转换脚本,以及使用说明文档 # 类型 [ ] Bug修复 [x] 新功能 [ ] 重构(即不是新增,也不是修改bug的代码改动) [x] 构建过程或辅助工具的变动 [x] 文档内容更新 # 使用说明 **使用前请在sh文件内设置对应模型路径、输出路径等变量** # calibration数据dump bash scripts/dump.sh # 模型训练 bash scripts/train.sh # ppl测算 bash scripts/val.sh # 量化权重输出 bash scripts/deploy.sh # CheckList: [x] 我的代码遵循这个项目的代码风格 [x] 我已经自己测试过我的代码 [x] 我已经更新了对应的文档 [x] 我已经在标题中正确使用了类型标签(例如:feat, fix, refactor, docs, test) # 其他信息 See merge request: cann/amct!3 | 8 个月前 |
| chore: update amct graph package url Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !115 merge update_graph into master chore: update amct graph package url Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 更新 install_graph.sh 中 cann-amct-graph 包下载地址,从 20260131_newest 的 9.0.0 包更新为 20260520_newest 的 9.1.0 包,使打包流程获取最新 graph 兼容包。 ## 如何测试 - 清理构建缓存和生成物:build/、build_out/、amctgraph/、dist/、tmp/、amct_pytorch.egg-info、amct_pytorch/graph_based_compression/lib/、测试日志/覆盖率和 __pycache__ - 执行:bash build.sh --pkg - 解压:build_out/cann-amct_9.0.0_linux-aarch64.tar.gz - 检查生成物目录结构 验证结果:构建退出码为 0,日志包含 Build success!、package amct run success、Build finished。解压后确认 graph 包内容更新为 cann-amct_acl_9.1.0_linux-aarch64.run、amct_onnx-0.24.0-py3-none-linux_aarch64.whl,且新包不再包含 amct_mindspore/。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:更新构建辅助脚本中的外部 graph 包下载地址 See merge request: cann/amct!115 | 3 个月前 |
| fix: ensure pytest disables torch backend autoload(#174) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !290 merge fix/174-pytest-env into master fix: ensure pytest disables torch backend autoload(#174) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 修复 https://gitcode.com/cann/amct/issues/174。 - 在 pytest 根 conftest 中,于 import torch 前设置 TORCH_DEVICE_BACKEND_AUTOLOAD=0,确保直接 pytest 收集阶段不会自动加载 torch_npu 后端。 - 移除 pyproject.toml 中依赖未声明 pytest-env 插件的 env 配置,避免 Unknown config option: env 警告。 ## 如何测试 python3 -m pytest -c pyproject.toml --rootdir=. tests/unit_test/test_public_api.py --collect-only -q -W error::pytest.PytestConfigWarning python3 -c "import importlib.util, os, sys; os.environ.pop('TORCH_DEVICE_BACKEND_AUTOLOAD', None); sys.modules.pop('torch', None); spec = importlib.util.spec_from_file_location('amct_tests_conftest', 'tests/conftest.py'); module = importlib.util.module_from_spec(spec); spec.loader.exec_module(module); assert os.environ.get('TORCH_DEVICE_BACKEND_AUTOLOAD') == '0'; print(os.environ['TORCH_DEVICE_BACKEND_AUTOLOAD'])" ruff check pyproject.toml tests/conftest.py ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!290 | 6 天前 |
| fix: requirements.txt 中 torchao 未指定版本约束 (#170) Co-authored-by: zhengpeiyang<zhengpeiyang@huawei.com> # message auto-generated for no-merge-commit merge: !246 merge fix-issue-170 into master fix: requirements.txt 中 torchao 未指定版本约束 (#170) Created-by: zhengpeiyang Commit-by: zhengpeiyang Merged-by: cann-robot Description: ## 描述 - 修复摘要: requirements.txt 中 torchao 未指定版本约束,pip install -r requirements.txt 会安装最新版 0.18.0,该版本与项目 pinned 的 torch==2.7.1+cpu 不兼容(torchao 内部 ImportError: cannot import name 'ScalingType' from 'torch.nn.functional'),导致按文档执行 bash build.sh -u 时出现 27 个测试收集错误,开发者需自行排查并降级 torchao 版本 - 变更文件: - requirements.txt ### Diff 摘要 text requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ## 如何测试 - 测试结论: PASS - 检测到代码变更文件 1 个: requirements.txt - 测试日志包含通过信号 - 测试日志覆盖计划测试项 4 条 ## 文档更新 无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 自动填充信息 ## 自动填充信息 - 关联 Issue: https://gitcode.com/cann/amct/issues/170 - 修复摘要: requirements.txt 中 torchao 未指定版本约束,pip install -r requirements.txt 会安装最新版 0.18.0,该版本与项目 pinned 的 torch==2.7.1+cpu 不兼容(torchao 内部 ImportError: cannot import name 'ScalingType' from 'torch.nn.functional'),导致按文档执行 bash build.sh -u 时出现 27 个测试收集错误,开发者需自行排查并降级 torchao 版本 - 测试结论: PASS - 变更文件: - requirements.txt ### 测试证据 - 检测到代码变更文件 1 个: requirements.txt - 测试日志包含通过信号 - 测试日志覆盖计划测试项 4 条 ### 风险和遗留问题 - 完整 bash build.sh -u 未运行:当前 Windows 主机不具备 Linux CANN/NPU 构建环境;依赖兼容性已通过实际安装与 import smoke 验证。 ### Diff 摘要 text requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ## 风险和遗留问题 - 完整 bash build.sh -u 未运行:当前 Windows 主机不具备 Linux CANN/NPU 构建环境;依赖兼容性已通过实际安装与 import smoke 验证。 See merge request: cann/amct!246 | 21 天前 |
| style: 执行 pre-commit 格式化(#161) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !228 merge chore/precommit-format-161 into master style: 执行 pre-commit 格式化(#161) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 按照 issue #161 提到的 pre-commit 本地格式化方法,对仓内 tracked C/C++ 和 Python 文件执行格式化。本 PR 仅包含 clang-format / ruff-format 自动格式化结果,不包含 ruff 历史例外配置。 ## 如何测试 - pre-commit run clang-format --all-files:Passed - pre-commit run ruff-format --all-files:Passed - 未运行完整 pre-commit run --all-files;ruff-check 的历史例外按要求未纳入本次提交。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:pre-commit 格式化 See merge request: cann/amct!228 | 1 个月前 |
| add amct_pytorch pkg Co-authored-by: fujun19<fujun19@hisilicon.com> Co-authored-by: fujun19<ikX6KxGSevEwXSku7b7TnwyZ> # message auto-generated for no-merge-commit merge: !19 merge amct_pytorch into master add amct_pytorch pkg Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 新增amct_pytorch部分功能开源,包含数据与权重低比特量化、张量分解、模型部署优化(主要为算子融合)等功能 https://www.hiascend.com/document/detail/zh/canncommercial/850/devaids/amct/atlasamct_16_0001.html ## 如何测试 bash build.sh --pkg构建出包 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!19 | 6 个月前 |