Reshape
支持的产品型号
Atlas 训练系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品
Atlas 推理系列产品
函数功能
该函数不改变算子tensor数据,只是将用户传入的输入tensor x的shape转换成该函数的第二个参数shape。
函数原型
const aclTensor *Reshape(const aclTensor *x, const op::Shape &shape, aclOpExecutor *executor)
const aclTensor *Reshape(const aclTensor *x, const aclIntArray *shape, aclOpExecutor *executor)
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
x |
输入 |
待转换的输入tensor。数据类型和数据格式不限制。输入必须保证是连续内存数据。 |
shape |
输入 |
转换后的目标shape,支持aclIntArray*、op::Shape(即gert::Shape)类型。数据类型和数据格式不限制。 |
executor |
输入 |
op执行器,包含了算子计算流程。 |
返回值说明
若reshape转换成功,则返回带有目标shape信息的aclTensor给调用者;若失败,则返回nullptr。
约束说明
- reshape转换成功的前提是x的ShapeSize需要和第二个参数shape的ShapeSize相等,所谓的ShapeSize举例如下:A的shape=(1, 3, 256, 256), 则A的ShapeSize=1*3*256*256。
- 当前不支持转换成空tensor,所谓的空tensor即shape中包含0。
调用示例
void Func(const aclTensor *x, const op::Shape &shape, aclOpExecutor *executor) { auto ret = l0op::Reshape(x, shape, executor); return; }
父主题: 基础核函数接口