aclSetTensorDynamicInput
aclSetTensorFormat
函数功能
调用aclCreateTensorDesc接口创建tensor描述信息后,可通过aclSetTensorFormat设置昇腾AI处理器内部处理tensor时的Format信息,当前主要用于pytorch场景下。同步接口。
:::note 说明 例如,某算子的原始Format为NHWC(原始Shape为4维)或者NDHWC(原始Shape为5维),为了提高数据访问效率,在进行模型转换或者在线构建网络时会自动转换Format,将原始数据Format转化为昇腾AI处理器内部计算数据时用的Format(NC1HWC0或者NDC1HWC0),同时进行推导Shape用于内部计算。 :::
函数原型
aclError aclSetTensorFormat(****aclTensorDesc *desc, aclFormat format)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输出 | aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 |
| format | 输入 | 需要设置的format。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: aclTensorDesc
aclSetTensorShapeRange
函数功能
调用aclCreateTensorDesc接口创建tensor描述信息后,可通过本接口设置tensor的各个维度的取值范围。同步接口。
使用场景:动态Shape的算子,其输入Shape中变化维度用-1表示,但每个变化维度的范围是不一样的,需要显式设置,如Shape为[16,-1,20,-1],对应的shape range可以是[[16,16],[1,128],[20,20],[1,10]],表示第一维的Shape范围固定为16,第二维的Shape范围为1到128,第三维的Shape范围固定为20,第四维的Shape范围为1到10。
函数原型
aclError aclSetTensorShapeRange(aclTensorDesc* desc, size_t dimsCount, int64_t dimsRange[][ACL_TENSOR_SHAPE_RANGE_NUM]****)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输出 | aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 |
| dimsCount | 输入 | tensor中dims的维度个数。 |
| dimsRange | 输入 | dimsRange为每个维度的取值范围,用二维数组表示范围。 如果Shape中的维度值不是-1时,表示固定维度,该维度对应的shape range中最大值和最小值相同;否则,表示动态维度,数组的两个维度分别表示对应tensor dims中的最小值和最大值。 text<br>#define ACL_TENSOR_SHAPE_RANGE_NUM 2<br> |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: aclTensorDesc
aclSetTensorDynamicInput
函数功能
调用aclCreateTensorDesc接口创建tensor描述信息后,可通过aclSetTensorDynamicInput接口设置多个动态输入的分组标识,例如某个算子包括动态输入为x、必选输入y,其中动态输入有多个,调用aclSetTensorDynamicInput将dynamicInputName设置为x,AscendCL内部根据dynamicInputName索引到对应的多个动态输入,达到分组的目的**。**同步接口。
函数原型
aclError aclSetTensorDynamicInput(aclTensorDesc *desc, const char *dynamicInputName)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输出 | aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 |
| dynamicInputName | 输入 | desc中动态输入分组标识的指针。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: aclTensorDesc
aclGetTensorDescByIndex
函数功能
获取算子的指定Index的tensor描述信息。同步接口。
函数原型
aclTensorDesc *aclGetTensorDescByIndex(aclTensorDesc *desc, size_t index)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输入 | aclTensorDesc类型的指针。 调用aclmdlCreateAndGetOpDesc接口获取算子所有输入/输出的tensor描述,作为本接口的输入。 |
| index | 输入 | 指定获取第几个输入/输出的tensor描述,index值从0开始。 用户调用aclmdlCreateAndGetOpDesc接口获取的算子输入/输出的数量后,这个Index的取值范围:[0, (算子输入/输出的数量-1)]。 |
返回值说明
返回指定输入/输出的aclTensorDesc类型数据的指针。
父主题: aclTensorDesc
aclGetTensorDescAddress
函数功能
获取指定算子输入/输出的tensor数据的内存地址。同步接口。
函数原型
void *aclGetTensorDescAddress(const aclTensorDesc *desc)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输入 | aclTensorDesc类型的指针。 调用aclGetTensorDescByIndex接口获取算子的指定输入/输出的tensor描述,作为本接口的输入。 |
返回值说明
返回指定算子输入/输出的tensor数据的内存地址。
父主题: aclTensorDesc
aclSetTensorConst
函数功能
为算子设置constant输入,指定存放输入tensor数据的内存地址和地址长度。同步接口。
函数原型
aclError aclSetTensorConst(****aclTensorDesc *desc, void *dataBuffer, size_t length)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| desc | 输出 | aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 |
| dataBuffer | 输入 | 输入tensor数据内存地址指针。 此处算子输入tensor数据的内存必须根据应用运行模式来确定,应用运行在Host时,此处需申请Host上的内存;应用运行在Device时,此处需申请Device上的内存。内存申请接口请参见内存管理。 |
| length | 输入 | 内存地址的长度,单位是Byte。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: aclTensorDesc
在线提单