张量重排
高阶微分操作
张量重排
张量重排(Tensor Reshaping)算子正向传播对张量进行重新排列,改变其形状(shape)和/或维度(dimension)的顺序,但保持数据本身不变。反向传播对梯度张量进行相反的重新排列,使其与正向传播的输入张量对齐。
正向传播参数列表
| 参数 | 类型 | 参数描述 |
|---|---|---|
| 输入张量 | 输入 | 待重排的原始张量 |
| 重排规则 | 输入 | 定义新维度顺序的模式,例如,从(N, H, W, C)到(N, C, H, W)的重排规则是(0, 3, 1, 2) |
| 输出张量 | 输出 | 重排后的张量 |
反向传播参数列表
| 参数 | 类型 | 参数描述 |
|---|---|---|
| 输入张量 | 输入 | 正向传播输出张量的梯度 |
| 输出张量 | 输出 | 重排后的梯度张量,与正向传播的输入张量对齐 |
函数返回值
- 没有错误:操作成功。
- 对象未初始化:表示输入张量没有初始化。
- 类型不匹配:表示参数的数据类型不一致。
- 分配失败:表张量分配空间不足。
- 内部错误:表示内部调用出错。
参考来源:团体标准——《人工智能 科学计算 共性算子 功能要求》——章节7.3.1.19
硬件验证状态
昇腾 NPU 1.8ms鲲鹏 CPU 2.6ms海光 CPU 2.1ms昆仑 XPU 2.4ms海光 DCU 2.3ms飞腾 CPU 3.1ms燧原 XPU 2.7ms沐曦 GPU 2.5ms
