IR定义配置说明
- Excel文件配置参数说明
表1 IR原型定义参数说明 列名称
含义
是否必选
Op
算子的Operator Type。
是
Classify
算子相关参数的类别,包含:- 输入:Input
- 动态输入:DYNAMIC_INPUT
- 输出:Output
- 动态输出:DYNAMIC_OUTPUT
- 属性:Attr
是
Name
算子参数的名称。
是
Type
算子参数的类型。
包含如下取值:
tensor、int、bool、float、ListInt、ListFloat等
是
TypeRange
针对类型为tensor的参数,需要配置tensor支持的类型。
包含如下取值:
fp16,fp32,double,int8,int16,int32,int64,uint8,uint16,uint32,uint64,bool等。
框架为MindSpore时,需要将tensor的类型值转换为MindSpore所支持的值:
I8_Default,I16_Default,I32_Default,I64_Default,U8_Default,U16_Default,U32_Default,U64_Default,BOOL_Default等。
否
Required
是否必须输入,有如下取值:
- TRUE
- FALSE
是
Doc
对应参数的描述。
否
Attr_Default_value
属性的默认值。
否
Format
针对类型为tensor的参数,配置为tensor支持的数据排布格式。
包含如下取值:
ND,NHWC,NCHW,HWCN,NC1HWC0,FRACTAL_Z等
否
Group
算子的分组。
否
- json IR 文件配置参数说明
创建算子工程的json IR 文件配置请参见表2。
表2 json文件配置参数说明 配置字段
类型
含义
是否必选
Plugin Framework
-
列表
算子所在模型文件的框架类型。
- MindSpore
- PyTorch
- TensorFlow
- Caffe
- ONNX
是
Op Type
-
字符串
算子的Operator Type。
支持输入字母和数字组成,首字母需大写。
是
Input[xx]
-
列表
输入参数描述。
否
Name
字符串
算子输入参数的名称。
是
Format
字符串或列表
针对类型为tensor的参数,配置为tensor支持的数据排布格式。如果tensor支持多个数据排布格式,请使用列表。例如["ND","NHWC"]。
包含如下取值:
ND,NHWC,NCHW,HWCN,NC1HWC0,FRACTAL_Z等。
否
Data Type
字符串或列表
输入数据支持的数据类型。
包含如下取值:
int32,uint64,float16,float,uint16,int16,int64,uint32,bool,int8,uint8等。
所有输入输出tensor需支持相同数量的数据类型。
是
Param Type
-
参数类型:
- Required
- Optional
- Dynamic
未配置默认为Required。
是
Output[xx]
-
列表
输出参数描述。
是
Name
字符串
算子输出参数的名称。
是
Format
字符串或列表
针对类型为tensor的参数,配置为tensor支持的数据排布格式。
包含如下取值:
ND,NHWC,NCHW,HWCN,NC1HWC0,FRACTAL_Z等。
否
Data Type
字符串或列表
输出数据支持的数据类型。
包含如下取值:
int32,uint64,float16,float,uint16,int16,int64,uint32,bool,int8,uint8等。
所有输入输出tensor需支持相同数量的数据类型。
是
Param Type
-
参数类型:
- Required
- Optional
- Dynamic
未配置默认为Required
是
Attribute[xx]
-
列表
属性描述。
否
Name
字符串
算子属性参数的名称。
是
Type
字符串或列表
算子参数的类型。
包含如下取值:
int、bool、float、string、list_int、list_float等。
若为MindStudio框架包含如下取值:
I8_Default,I16_Default,I32_Default,I64_Default,U8_Default,U16_Default,U32_Default,U64_Default,BOOL_Default等
是
Default Value
-
默认值。
否
Param Type
-
参数类型:
- Required
- Optional
未配置默认为Required。
是
IR Template可以配置多个算子。单击Add按钮增加算子
- 若存在Op Type同名算子,会以后一算子创建算子工程。
- 若Input[xx]或Output[xx]中的Name参数相同,则后一个会覆盖前一参数。
- Input[xx],Output[xx]中的Data Type与Format需一一对应匹配,如果没有配置Format,自动以“ND”按Type的个数一一对应补齐。
示例:
Plugin Framework
-
TensorFlow
Op Type
-
Conv2D
Input[01]
-
-
Name
x
Format
["NCHW"]
Data Type
["fp16"]
Param Type
Required
Input[02]
-
-
Name
filter
Format
["NCHW"]
Data Type
["fp16"]
Param Type
Required
Output[01]
-
-
Name
y
Format
["NCHW"]
Data Type
["fp16"]
Param Type
Required
Attribute[01]
-
-
Name
strides
Type
list_int
Default Value
-
Param Type
Required
Attribute[02]
-
-
Name
pads
Type
list_int
Default Value
-
Param Type
Required
Attribute[03]
-
-
Name
dilations
Type
list_int
Default Value
[1,1,1,1]
Param Type
Optional