下载
中文
注册

acldvppHWC2CHW

Atlas 200/300/500 推理产品不支持该算子。

Atlas 训练系列产品不支持该算子。

Atlas 推理系列产品不支持该算子。

Atlas 200/500 A2推理产品不支持该算子。

函数功能

将输入图像的shape从<H, W, C> 转换为<C, H, W>。

函数原型

每个算子有两段接口,必须先调用“acldvppHWC2CHWGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“acldvppHWC2CHW”接口执行计算。两段式接口如下:

  • acldvppStatus acldvppHWC2CHWGetWorkspaceSize(const aclTensor *self, aclTensor *out, uint64_t *workspaceSize, aclOpExecutor **executor)
  • acldvppStatus acldvppHWC2CHW(void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream)

acldvppHWC2CHWGetWorkspaceSize

  • 接口定义:

    acldvppStatus acldvppHWC2CHWGetWorkspaceSize(const aclTensor *self, aclTensor *out, uint64_t *workspaceSize, aclOpExecutor **executor)

  • 参数说明:
    • self:表示算子输入Tensor,需调用aclCreateTensor接口创建aclTensor类型的数据(数据存放在Device侧),输入Tensor的dataType支持UINT8和FLOAT、Format支持NHWC、不支持非连续的Tensor,同时N支持1和空、C支持1或3(1表示输入GRAY图,3表示输入RGB图)。
    • out:表示算子输出Tensor,需调用aclCreateTensor接口创建aclTensor类型的数据(数据存放在Device侧),输出Tensor的dataType支持UINT8和FLOAT、Format支持NCHW、不支持非连续的Tensor,同时N支持1和空、C支持1或3(1表示输入GRAY图,3表示输入RGB图)。out的数据类型需要与self相同。
    • workspaceSize:返回用户需要在Device侧申请的workspace大小。
    • executor:返回op执行器,包含了算子计算流程。
  • 返回值:

    返回acldvppStatus状态码,具体请参见acldvpp返回码

acldvppHWC2CHW

  • 接口定义:

    acldvppStatus acldvppHWC2CHW(void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream)

  • 参数说明:
    • workspace:需调用aclrtMalloc接口申请Device内存,内存大小为workspaceSize,aclrtMalloc接口输出的内存地址在此处传入。
    • workspaceSize:与acldvppHWC2CHWGetWorkspaceSize接口获取的workspaceSize保持一致。
    • executor:op执行器,包含了算子计算流程,与acldvppHWC2CHWGetWorkspaceSize接口的executor保持一致。
    • stream:指定执行任务的Stream,可复用已创建的Stream节省资源或调用aclrtCreateStream接口创建Stream,再作为入参在此处传入。
  • 返回值:

    返回acldvppStatus状态码,具体请参见acldvpp返回码

约束与限制

支持图像分辨率范围在[6*4~4096*8192]。