elec-ops-inspection 是 CANN 社区 Electrical Engineering SIG(电力行业兴趣小组)旗下的电力装备巡检算子库, 覆盖 CV 视觉检测与具身智能两大技术路线,面向输电线路、变电设备、配电设施等电力装备的智能化巡检场景, 基于华为昇腾(Ascend)硬件平台进行深度优化。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|
| docs: 添加仓库本地 Codex 知识库框架 Co-authored-by: tkzty<zhongtengyu@tiankuan.net> # message auto-generated for no-merge-commit merge: !14 merge docs/repo-local-knowledge-scaffold into master docs: 添加仓库本地 Codex 知识库框架 Created-by: tkzty Commit-by: tkzty Merged-by: cann-robot Description: ## 概述 - 新增 .agents/knowledge 仓库本地 Codex 知识库框架。 - 新增 electric-inspection-knowledge-base Skill,用于维护和使用该知识库框架。 - 新增根目录 AGENTS.md 作为 Codex 进入仓库后的知识库加载入口。 - 更新 README.md,补充知识库框架的发现入口。 ## 范围说明 - 本 PR 只提交可公开审查的框架文件、模板、离线校验器和电力库公开上下文。 - 未导入个人知识库内容、私人笔记、账号信息、凭据、私有数据集或本地机器状态。 - 新增知识库要求后续内容以仓库源码、README、测试和用户提供的证据为准。 ## 验证 - python .agents/knowledge/tools/validate_kb.py --root .agents/knowledge - git diff --check origin/master..HEAD - 已对变更文件做敏感信息扫描,未发现真实凭据赋值或私钥模式。 ## 已知限制 - 本 PR 不新增硬件、性能、精度或运行时能力声明。 - 后续若补充 benchmark、算子验证或生产部署结论,需要提供对应日志、环境和数据来源。 See merge request: cann/elec-ops-inspection!14 | 28 天前 |
| docs: add operator change migration template Co-authored-by: GM_BOJE<gengming@tiankuan.net> # message auto-generated for no-merge-commit merge: !21 merge docs/operator-change-note-template into master docs: add operator change migration template Created-by: GM_BOJE Commit-by: GM_BOJE Merged-by: cann-robot Description: ## 变更内容 - 新增 docs/operator-change-note-template.md,用于记录算子接口、行为、支持范围或安装方式变化后的用户影响与迁移步骤。 - 提供 compatible / behavior-change / migration-required / deprecated / removed 五类兼容性分类。 - 模板覆盖新旧行为对照、调用与安装迁移、弃用时间线、回滚方案、验证证据和发布摘要。 - 在根 README 的参与贡献部分增加模板入口。 ## 差异化说明 接口契约 Skill 用于发现跨层不一致和 breaking change 风险,本模板用于风险确认后向使用者说明如何迁移、何时弃用以及如何回滚。它不是测试计划、README 模板或通用贡献检查清单。 ## 文档原则 - “兼容”必须有旧调用验证依据,不能作为默认结论。 - 弃用和移除日期必须经过维护者确认,未确认时标记待定。 - 没有 NPU 或目标环境时使用 NOT_RUN,不声称验证通过。 ## 验证 - git diff --cached --check:通过 - Markdown 围栏配对检查:通过 - 9 个核心章节完整性检查:通过 - 五类兼容性分类完整性检查:通过 - README 相对链接检查:通过 - 敏感信息扫描:无命中 - 已检查当前 open PR,未发现同名或同职责的迁移说明模板 ## 未验证项 - 本次仅新增文档模板和入口,不修改算子接口、版本策略或实现。 See merge request: cann/elec-ops-inspection!21 | 28 天前 |
| docs: add operator layout contribution guidelines Co-authored-by: zqy0120<zhouquanyou@tiankuan.net> # message auto-generated for no-merge-commit merge: !16 merge docs/operator-layout-guidelines into master docs: add operator layout contribution guidelines Created-by: zqy0120 Commit-by: zqy0120 Merged-by: cann-robot Description: ## 变更内容 - 新增 CONTRIBUTING.md,明确仓库顶层目录边界,约束新增算子统一放入 operators/<operator_name>/。 - 新增 operators/README.md,说明后续算子目录的推荐结构和历史根目录算子的兼容关系。 - 更新 README.md 中贡献规范链接,并提示新增算子统一进入 operators/ 目录。 ## 验证 - 已执行 git diff --cached --check,无空白格式问题。 See merge request: cann/elec-ops-inspection!16 | 29 天前 |
| docs: align optimized_transducer README with exposed API Co-authored-by: Alex_Wei<weiyizhe@tiankuan.net> # message auto-generated for no-merge-commit merge: !30 merge docs/optimized-transducer-readme-contract into master docs: align optimized_transducer README with exposed API Created-by: Alex_Wei Commit-by: Alex_Wei Merged-by: cann-robot Description: ## 变更内容 - 明确当前仓库提供的是 ACLNN 两段式接口与 pybind 原始绑定,而不是可直接替换 torchaudio 的 autograd/reduction 封装。 - 将 README 中的数据类型说明校准为当前 OpDef 与 Tiling 实际支持的 float32。 - 说明 ACLNN 与 pybind 的参数边界:pybind 仅暴露 blank,内部固定 clamp=-1.0、fused_log_softmax=true。 - 将架构图、Python 调用示例和接口表更新为真实模块名、返回值和 ACLNN 函数名。 - 增加现有 ACLNN 示例与测试脚本的相对链接,删除当前实现不支持的 float16 精度条目,并将参考 reduction 修正为 none。 ## 问题背景 原 README 将当前 pybind 绑定描述为完整的 torchaudio 替代接口,并展示了仓库中不存在的 rnnt_loss_ascend 模块、autograd 调用和 aclnnRnntLossFused 函数名。源码实际情况是: - OpDef 和 Tiling 仅接受 float32 logits; - optimized_transducer_ascend_ops.rnnt_loss() 返回 (loss, grad),不提供 autograd 或 reduction; - pybind 将 clamp 与 fused_log_softmax 固定为 -1.0 和 true; - 底层调用名为 aclnnOptimizedTransducerGetWorkspaceSize 与 aclnnOptimizedTransducer。 这些偏差会导致使用者照抄 README 后遇到导入失败、参数不匹配或错误的数据类型预期。本 PR 仅校准文档契约,不修改算子实现。 ## 验证 - 逐项对照 optimized_transducer_def.cpp、optimized_transducer_tiling.cpp、pybind_wrapper.cpp、setup.py 和 ACLNN 示例 - README Python 示例通过 ast.parse 语法检查 - Markdown 代码围栏成对检查:通过 - README 新增的两个相对链接均存在 - 旧模块名、旧 ACLNN 函数名、float16 和错误 reduction 描述扫描:无残留 - git diff --check:通过 - 变更范围检查:仅修改 optimized_transducer/README.md - 敏感信息扫描:无命中 ## 未验证项 - 当前环境未安装 CANN/NPU,未实际构建 pybind 扩展或运行 README 示例。 - 本 PR 不复测 README 中既有的精度与性能数据,只修正与当前源码可直接核对的接口契约。 See merge request: cann/elec-ops-inspection!30 | 29 天前 |
| docs: align UniqueV3 README with kernel behavior Co-authored-by: moxi_git<zhangkaizhen@tiankuan.net> # message auto-generated for no-merge-commit merge: !34 merge docs/unique-v3-readme-contract into master docs: align UniqueV3 README with kernel behavior Created-by: moxi_git Commit-by: moxi_git Merged-by: cann-robot Description: ## 变更内容 - 明确 flag_sorted=0 时按降序输出,非 0 时按升序输出。 - 同步更新功能说明、计算公式、output 描述和 flag_sorted 属性说明。 - 说明所有输入类型会在 Kernel 内转换为 FLOAT 进行排序。 - 补充 INT32 逐元素精确区分所需的 FP32 可精确表示范围 [-2^24, 2^24]。 - 将文档中的错误哨兵值 3e+99 修正为 Kernel 当前使用的 3.402823e+38f,并说明 FLOAT 输入应避开正负哨兵值。 - 删除 README 末尾残留的 </content> 和 </invoke> 模板标签。 ## 问题背景 当前 README 将输出描述为始终降序,并把 flag_sorted 解释为是否排序;Kernel 实际始终执行排序,并通过该属性控制排序方向。文档中的 3e+99 也不是有效的 float32 常量,与源码中的 FLOAT_INF = 3.402823e+38f 不一致。 此外,INT32 等非 FLOAT 输入会先转换为 FLOAT 参与排序,文档应说明超出 FP32 连续整数精确范围时可能无法逐元素区分。 本 PR 只校准文档契约和数值约束,不修改算子实现、接口或性能结论。 ## 验证 - OpDef 中 flag_sorted 默认值为 0。 - Tiling 将 flag_sorted 转换为布尔值并传入 Kernel。 - Kernel 在属性非 0 时先乘以 -1 排序,并在排序后执行符号还原,源码注释对应升序路径。 - Kernel FLOAT_INF 常量为 3.402823e+38f。 - INT32 输入走 Cast 到 FLOAT 的排序路径。 - README HTML 表格标签配对检查:通过。 - ACLNN 示例相对链接存在。 - 旧 3e+99 和模板残留标签扫描:无残留。 - git diff --check:通过。 - 变更范围检查:仅修改 unique_v3/README.md。 - 敏感信息扫描:无命中。 ## 未验证项 - 当前环境没有 CANN 和 NPU,未在真实设备上复测不同 flag_sorted 值及数值边界输入。 See merge request: cann/elec-ops-inspection!34 | 28 天前 |
| docs: 添加仓库本地 Codex 知识库框架 Co-authored-by: tkzty<zhongtengyu@tiankuan.net> # message auto-generated for no-merge-commit merge: !14 merge docs/repo-local-knowledge-scaffold into master docs: 添加仓库本地 Codex 知识库框架 Created-by: tkzty Commit-by: tkzty Merged-by: cann-robot Description: ## 概述 - 新增 .agents/knowledge 仓库本地 Codex 知识库框架。 - 新增 electric-inspection-knowledge-base Skill,用于维护和使用该知识库框架。 - 新增根目录 AGENTS.md 作为 Codex 进入仓库后的知识库加载入口。 - 更新 README.md,补充知识库框架的发现入口。 ## 范围说明 - 本 PR 只提交可公开审查的框架文件、模板、离线校验器和电力库公开上下文。 - 未导入个人知识库内容、私人笔记、账号信息、凭据、私有数据集或本地机器状态。 - 新增知识库要求后续内容以仓库源码、README、测试和用户提供的证据为准。 ## 验证 - python .agents/knowledge/tools/validate_kb.py --root .agents/knowledge - git diff --check origin/master..HEAD - 已对变更文件做敏感信息扫描,未发现真实凭据赋值或私钥模式。 ## 已知限制 - 本 PR 不新增硬件、性能、精度或运行时能力声明。 - 后续若补充 benchmark、算子验证或生产部署结论,需要提供对应日志、环境和数据来源。 See merge request: cann/elec-ops-inspection!14 | 28 天前 |
| docs: add operator layout contribution guidelines Co-authored-by: zqy0120<zhouquanyou@tiankuan.net> # message auto-generated for no-merge-commit merge: !16 merge docs/operator-layout-guidelines into master docs: add operator layout contribution guidelines Created-by: zqy0120 Commit-by: zqy0120 Merged-by: cann-robot Description: ## 变更内容 - 新增 CONTRIBUTING.md,明确仓库顶层目录边界,约束新增算子统一放入 operators/<operator_name>/。 - 新增 operators/README.md,说明后续算子目录的推荐结构和历史根目录算子的兼容关系。 - 更新 README.md 中贡献规范链接,并提示新增算子统一进入 operators/ 目录。 ## 验证 - 已执行 git diff --cached --check,无空白格式问题。 See merge request: cann/elec-ops-inspection!16 | 29 天前 |
| update license to apache 2.0 | 4 个月前 |
| new: 新建文件 OAT.xml 新增OAT.xml Signed-off-by: mappleo <1109043733@163.com> | 4 个月前 |
| docs: add operator catalog maintenance skill Co-authored-by: hunter01<huangqi@tiankuan.net> # message auto-generated for no-merge-commit merge: !17 merge docs/operator-catalog-skill into master docs: add operator catalog maintenance skill Created-by: hunter01 Commit-by: hunter01 Merged-by: cann-robot Description: ## 变更内容 - 新增 electric-inspection-operator-catalog Skill,用于在新增、迁移、重命名或下线算子时维护根 README 算子清单。 - 提供算子名称、场景分类、功能描述、发布状态和仓库内链接的一致性检查流程。 - 新增 catalog maintenance checklist,包含字段规则、场景标签建议、链接检查和 PR 描述模板。 - 在根 README 增加该 Skill 的可发现入口。 ## 差异化说明 本 Skill 只负责算子 catalog/index 维护,不覆盖通用算子贡献预检、benchmark 证据整理、示例可复现性或 Skill 创建流程。提交前已检查当前 open PR,未发现同名或同职责的 operator catalog Skill。 ## 验证 - quick_validate.py:通过 - git diff --cached --check:通过 - 敏感信息扫描:无命中 - 已人工确认 README 中的 Skill 相对链接存在 ## 未验证项 - 本次仅新增仓库本地 Skill 和文档入口,不涉及算子代码、性能、精度或硬件兼容性声明。 See merge request: cann/elec-ops-inspection!17 | 29 天前 |
elec-ops-inspection 是 CANN 社区 Electrical Engineering SIG(电力行业兴趣小组)旗下的电力装备巡检算子库,
覆盖 CV 视觉检测与具身智能两大技术路线,面向输电线路、变电设备、配电设施等电力装备的智能化巡检场景,
基于华为昇腾(Ascend)硬件平台进行深度优化。
项目背景
电力装备巡检是保障电网安全稳定运行的核心运维环节。传统人工巡检面临效率低、成本高、高危场景作业风险大等问题。本仓库聚焦两大技术方向:
① CV 视觉检测:面向输电通道隐患识别,包括大型设备作业、鸟巢、绝缘子破损、锈蚀等典型缺陷的高精度检测,基于 Co-DETR 等先进目标检测模型,在 910B 上实现推理性能从秒(s)级到毫秒(ms)级的跨越。
② 具身智能巡检:面向机器狗、无人机等具身智能形态的"地空协同"移动巡检场景,提供面向大规模空间尺度建模(3DGS)的昇腾专用算子,支撑换流站等大型设施的空间感知与智能巡检。
核心算子列表
| 算子名称 |
场景 |
描述 |
状态 |
optimized_transducer |
语音识别 |
对RNN-T模型的loss算子和softmax算子做了融合,显存优化和性能优化 |
✅ 已发布 |
unique_v3 |
数学通用算子 |
对排序算法在AIV上做了优化,增加index counter输出 |
✅ 已发布 |
开发辅助
开发辅助
🤝 参与贡献
欢迎所有对电力 AI 和昇腾开发感兴趣的开发者参与共建!贡献方式:
- 提交 Issue 反馈问题或建议
- Fork 本仓库并提交 Pull Request
- 参与 Electrical Engineering SIG 定期研讨会
- 完善文档与示例
贡献规范请参考 CONTRIBUTING.md,新增算子请统一放入 operators/ 目录。
新增或重写算子说明时,可参考 docs/operator-readme-template.md。
设计和记录算子测试时,可使用 docs/operator-test-plan-template.md。
涉及接口、行为或安装兼容性变化时,可使用 docs/operator-change-note-template.md。
仓库提供了面向算子性能证据整理的辅助 Skill:inspection-benchmark-evidence,用于在提交 PR 前检查巡检算子的 benchmark 环境、shape 矩阵、baseline、统计口径和可复现命令。
仓库提供了面向技能贡献的辅助 Skill:electric-inspection-skill-creator,用于为电力巡检算子场景创建差异化、可验证、可提 PR 的仓库本地 Skill。
仓库提供了面向算子贡献的辅助 Skill:electric-inspection-op-readiness,用于在提交 PR 前检查电力巡检场景说明、接口约束、精度证据、性能证据和文档完整性。
仓库提供了本地 Codex 知识库框架:electric-inspection-knowledge-base 与 .agents/knowledge,用于记录公开、可审查、可渐进加载的项目上下文,不包含个人知识库内容。
👥 维护团队
Maintainers
| 姓名 |
GitCode ID |
单位 |
| 梁寿愚 |
@jason2025 |
南方电网人工智能研究中心 |
| 陆璐 |
@Lulu_scut |
华南理工大学 |
| 陈辰 |
@xchencehn |
杭州天宽科技 |
| 张玉橙 |
@Splendid2025 |
昇腾产品线 |
| 田野 |
@tianye525 |
AI算力基础设施 |
Committers
| 姓名 |
GitCode ID |
单位 |
| 余涛 |
@yutao_scut |
华南理工大学电力学院 |
| 刘迪 |
@weixin_34344963 |
清华大学电机系 |
| 江豪 |
@yhyyyl |
华南理工大学 / 南方电网联培 |
| 陈昀 |
@edconeone |
华南理工大学 |
| 莫程翔 |
@Andrewmo1 |
华为公司 |
| 李博 |
@gcw_FHrfwZBn |
华为公司 |
📄 许可证
本项目基于 Apache License 2.0 开源。
elec-ops-inspection 是 CANN 社区 Electrical Engineering SIG(电力行业兴趣小组)旗下的电力装备巡检算子库, 覆盖 CV 视觉检测与具身智能两大技术路线,面向输电线路、变电设备、配电设施等电力装备的智能化巡检场景, 基于华为昇腾(Ascend)硬件平台进行深度优化。
定制我的领域