昇腾社区首页
中文
注册

函数:set_dataset_tensor_desc

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

x

Atlas 200/300/500 推理产品

x

功能说明

如果模型输入或输出的Shape是动态的,在模型执行之前调用本接口设置模型输入或输出的Tensor描述信息。

函数原型

  • C函数原型
    1
    aclError aclmdlSetDatasetTensorDesc(aclmdlDataset *dataset, aclTensorDesc *tensorDesc, size_t index)
    
  • python函数
    1
    dataset, ret = acl.mdl.set_dataset_tensor_desc(dataset, tensor_desc, index)
    

参数说明

参数名

说明

dataset

int,待增加aclTensorDesc的aclmdlDataset指针地址,表示模型执行的输入或输出数据结构。

需提前调用acl.mdl.create_dataset接口创建aclmdlDataset类型的数据,再调用acl.mdl.add_dataset_buffer接口向aclmdlDataset中增加aclDataBuffer。

tensor_desc

int,待增加的aclTensorDesc指针地址,表示模型执行时对应的输入或输出的Tensor描述。

需提前调用acl.create_tensor_desc接口创建aclTensorDesc类型的数据,当前仅支持设置模型输入输出Tensor描述信息中的维度信息(对应acl.create_tensor_desc接口中的代表维度个数的numDims参数、代表维度大小的dims参数),设置数据类型、Format无效。

此处设置的维度个数、维度大小必须在模型构建时设置的输入Shape范围内,模型构建的详细说明请参见模型构建。

index

int,表示第几个输入或输出的序号。

模型存在多个输入、输出时,为避免序号出错,可以先调用acl.mdl.get_input_name_by_indexacl.mdl.get_output_name_by_index接口获取输入、输出的名称,然后根据输入、输出名称所对应的“index”来设置。

返回值说明

返回值

说明

dataset

int,待增加aclTensorDesc的aclmdlDataset指针地址,表示模型执行的输入或输出数据结构。

ret

int,错误码

  • 返回0表示成功。
  • 返回其它值表示失败。

约束说明

对同一个模型,acl.mdl.set_dynamic_batch_size接口、acl.mdl.set_dynamic_hw_size接口、acl.mdl.set_input_dynamic_dims接口、acl.mdl.set_dataset_tensor_desc接口,只能调用其中一个接口。