当前位置: 首页 > news >正文

CANN/cann-bench转置算子评测

Transpose 算子 API 描述

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

1. 算子简介

对 tensor 的任意维度进行调换。

主要应用场景

  • 深度学习中数据格式转换(如 NCHW 与 NHWC 之间的转换)
  • 注意力机制中对 Q、K、V 矩阵进行维度交换
  • 矩阵运算前的维度调整(如矩阵转置)

算子特征

  • 难度等级:L3(LayoutTransform)
  • 单输入单输出,支持不超过 8 维的输入,通过 perm 参数指定维度置换顺序

2. 算子定义

数学公式

$$ y[i_0, ..., i_{n-1}] = x[i_{\text{perm}[0]}, ..., i_{\text{perm}[n-1]}] $$

其中 perm 为维度置换顺序数组,指定输出张量各维度对应输入张量的哪个维度。

3. 接口规范

算子原型

cann_bench.transpose(Tensor x, int[] perm) -> Tensor y

输入参数说明

参数类型默认值描述
xTensor必选输入张量,维度不超过 8 维
permint[]必选维度置换顺序

输出

参数Shapedtype描述
y输入 shape 按 perm 重排后的 shape与输入 x 相同输出张量,转置后的结果

数据类型

输入 dtype输出 dtype
float16float16
float32float32
bfloat16bfloat16
int8int8
int16int16
int32int32
int64int64

规则与约束

  • 输入维度不超过 8 维
  • perm 数组长度必须等于输入维度数,且为 [0, ndim) 的一个排列
  • 输出 shape 为输入 shape 按 perm 重排的结果,即 output_shape[i] = input_shape[perm[i]]
  • 输出 dtype 与输入 dtype 一致

4. 精度要求

采用生态算子精度标准进行验证。

误差指标

  1. 平均相对误差(MERE):采样点中相对误差平均值

    $$ \text{MERE} = \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}}) $$

  2. 最大相对误差(MARE):采样点中相对误差最大值

    $$ \text{MARE} = \max(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}}) $$

通过标准

数据类型FLOAT16BFLOAT16FLOAT32HiFLOAT32FLOAT8 E4M3FLOAT8 E5M2
通过阈值(Threshold)2^-102^-72^-132^-112^-32^-2

当平均相对误差 MERE < Threshold,最大相对误差 MARE < 10 * Threshold 时判定为通过。

5. 标准 Golden 代码

import torch """ Transpose算子Torch Golden参考实现 对tensor的任意维度进行调换 公式: y[i0,...,in-1] = x[i_perm[0],...,i_perm[n-1]] """ def transpose( x: torch.Tensor, perm: list ) -> torch.Tensor: """ 对tensor的任意维度进行调换 公式: y[i0,...,in-1] = x[i_perm[0],...,i_perm[n-1]] Args: x: 输入张量 perm: 维度置换顺序 Returns: 输出张量,转置后的结果 """ y = torch.permute(x, perm) return y

6. 额外信息

算子调用示例

import torch import cann_bench # 2D 矩阵转置 x = torch.randn(1024, 1024, dtype=torch.float16, device="npu") y = cann_bench.transpose(x, [1, 0]) # 4D NCHW 转 NHWC x = torch.randn(2, 8, 256, 256, dtype=torch.float32, device="npu") y = cann_bench.transpose(x, [0, 2, 3, 1])

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783966/

相关文章:

  • CANN尾轮负载均衡优化
  • MoltFi:为AI交易代理构建链上安全护栏的架构与实践
  • 对比直接使用厂商API接入Taotoken在路由容灾上的优势
  • CANN Pi0.5昇腾训推实践
  • Ubuntu 20.04 + ROS2 Foxy 环境下,手把手搞定 Swarm-SLAM 多机器人协同建图环境(附常见编译报错解决)
  • MoE模型多语言路由优化实战:37%延迟降低方案
  • 为Hermes Agent自定义配置Taotoken提供方并写入环境变量
  • 2025届毕业生推荐的六大降重复率工具推荐
  • 元宇宙数据安全与AI隐私保护:从联邦学习到差分隐私的实战架构
  • 国内合规亲子鉴定机构排行:3家靠谱机构盘点 - 奔跑123
  • cann/catlass多核切K矩阵乘法
  • CANN / cann-recipes-infer: NPU DeepSeek-V3.2-Exp Ascend C 融合算子优化
  • 全域无感时空管控,解锁智慧港口集卡AGV全自主调度新模式
  • llocal框架:本地化AI应用开发实战与RAG实现指南
  • 基于LLM与Telegram API构建智能聊天摘要机器人:从原理到部署
  • 【2026收藏版】小白程序员必看!大模型从入门到进阶全攻略,告别焦虑快速上岸
  • Hyper-V虚拟机网络配置避坑指南:从‘网络不可达’到流畅上网,手把手教你配置CentOS/Ubuntu静态IP和DNS
  • 基于可解释AI的微射流速度预测:FNN与SHAP解析空化气泡位置影响机制
  • 全国主流亲子鉴定机构排行:资质与服务实测盘点 - 奔跑123
  • CANN/HCCL环境变量配置资源信息
  • 基于纯文本的极简个人信息管理:plain命令行工具实践指南
  • 基于RAG的企业级智能问答系统:从原理到Azure云部署实战
  • CANN/CATCCOS预提交代码检查指南
  • 2026高效之选:专业的液压压滤机厂家推荐 - 品牌2025
  • CANN/ops-tensor算子调试调优指南
  • Java 设计模式:最佳实践与应用
  • 经验分享:工业采购必须了解的旋进旋涡流量计选型知识 - 速递信息
  • 为AI智能体构建持久化记忆:Stratum架构设计与工程实践
  • 基于LoRA与指令微调的中文Vicuna大模型本地部署与优化指南
  • WALAR:基于强化学习的低资源机器翻译优化方案