描述文件参数说明
单算子描述文件是由OpDesc的数组构成的json文件,本章节详细介绍该文件中各参数的含义。
属性名 |
类型 |
说明 |
是否必填 |
---|---|---|---|
compile_flag |
INT32 |
该参数废弃,不建议使用,后续版本将会删除。 编译类型。取值如下:
默认值为0。 使用约束:当前仅支持transformer网络模型涉及的算子。 |
否 |
op |
string |
算子类型。 |
是 |
name |
string |
单算子模型文件的名称。 如果不设置name参数,则模型文件名的命名规则默认为:序号_opType_输入的描述(dataType_format_shape)_输出的描述(dataType_format_shape),例如,0_Add_3_2_3_3_3_2_3_3_3_2_3_3.om。 dataType以及format对应枚举值请从${INSTALL_DIR}/include/graph/types.h文件中查看,枚举值依次递增。其中,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。 |
否 |
input_desc |
TensorDesc数组 |
算子输入描述。 |
是 |
output_desc |
TensorDesc数组 |
算子输出描述。 |
是 |
attr |
Attr数组 |
算子属性。 |
否 |
属性名 |
类型 |
说明 |
---|---|---|
dynamic_input |
string |
可选。动态输入,取值必须和算子信息库中该算子定义的输入name相同。 该参数用于设置算子动态输入的分组与动态输入的个数,例如算子原型定义中某算子的动态输入为: .DYNAMIC_INPUT(x,...) .DYNAMIC_INPUT(y,...) 则表示动态输入有两组,分别为x,y。每一组的输入个数,根据dynamic_input的个数确定。具体设置原则可以参见TensorDesc数组中name参数的说明。
|
format |
string |
必填。Tensor的排布格式,配置为算子原始框架支持的Format。 当前支持的Format格式以及对应的枚举如下:
模型转换完毕,上述format在对应om文件名中以对应的枚举呈现,例如若输入为NHWC格式,则展示为1。 |
origin_format |
string |
可选。Tensor的原始Format。 不带此字段时,默认Tensor的实现Format与原始Format一致。 |
name |
string |
可选。Tensor的名称。算子的输入为动态输入时,需要设置该字段。 该参数用于设置每一组动态输入中,具体输入的名称,每一个输入名称为算子原型中定义的输入名称+编号,编号根据dynamic_input的个数确定,从0开始依次递增。
|
shape |
int数组 |
必填。Tensor的Shape,例如[1, 224, 224, 3],实际Shape乘积不能超过int32最大值(2147483647)。
|
origin_shape |
string |
可选。Tensor的原始Shape。 不带此字段时,默认Tensor的实现Shape与原始Shape一致。 |
type |
string |
必填。Tensor的数据类型,支持的type以及对应的枚举如下:
模型转换完毕,上述type在对应om文件名中以对应的枚举呈现,例如若输入为int8类型,则展示为2。 |
shape_range |
int[2]数组 |
可选。Shape为动态时(不包括-2场景),unknow shape的取值范围。 例如,若Shape取值为[16,-1,20,-1]:其中的-1表示unknow shape。 shape_range取值为[1,128],[1,-1]:[1,128]表示从1到128的取值范围,对应Shape参数中第一个-1;[1,-1]表示从1到无穷大的取值范围,对应Shape参数中第二个-1。 |
is_const |
bool |
可选,表示输入是否为常量。
|
const_value |
list |
可选,常量取值。 当前仅支持一维list配置,list中具体配置个数由Shape取值决定。例如,Shape取值为2,则const_value中列表个数为2。 取值类型由type决定,假设type取值为float16,则单算子编译时会自动将const_value中的取值转换为float16格式的取值。 |