TBE算子ST测试用例定义文件参数解释
参数 |
说明 |
|
---|---|---|
Test_xxx_xx |
- |
必选。string类型。 测试用例的名称。 |
Input[xx] |
- |
必选。 算子的输入。
须知:
一个算子所有Input中参数取值的个数都要一致,否则测试用例生成会失败。 例如:Input[01]的format支持的类型个数2,则Input[02]的format支持的类型个数也需要为2。 同理,所有Input[xx]中的type、shape、data_distribute和value_range的取值个数也需要保持一致。 |
- |
Name |
必选。 算子输入的名称,string类型。 若配置期望函数,则算子输入的名称需与期望函数中输入的名称保持完全一致。 |
- |
Format |
必选。 String或者String的一维数组。 输入tensor数据的排布格式,不允许为空。 常见的数据排布格式如下:
注意,Format、Type和Shape的数量需保持一致。 |
- |
OriginFormat |
可选。Tensor的原始format。 不带此字段时,默认Tensor的实现format与原始format一致。 |
- |
ShapeRange |
可选。Shape为动态时,unknow shape的取值范围。默认为[1, -1]。 例如,若Shape取值为[16, -1, 16, -1],其中的-1表示unknow shape。ShapeRange取值为[[1, 128], [1, -1]],[1, 128]表示Shape中第一个-1取值范围为1到128,[1, -1]表示Shape中第二个-1的取值范围为1到无穷大。 |
- |
TypicalShape |
固定shape,用来生成可用的测试数据。 |
- |
Type |
必选。 String或者String的一维数组。 所有输入输出tensor需支持相同数量的数据类型。 输入数据支持的数据类型。
注意,Format、Type和Shape的数量需保持一致。 |
- |
Shape |
必选。 int类型,一维或者二维数组。 输入tensor支持的形状,所有输入输出tensor需支持相同数量的形状。 例如: [8, 3, 256, 256]或[[1, 3, 256, 256], [8, 3, 256, 256]]。 若输入非法的形状会报错,例如:[0]。 注意,Format、Type和Shape的数量需保持一致。 |
- |
OriginShape |
可选。Tensor的原始shape。 不带此字段时,默认Tensor的实现shape与原始shape一致。 |
- |
Value |
可选。 路径String或者Tensor数组。 若用户需要指定输入数据时,可通过增加“Value”字段进行配置。有如下两种配置方式:
二进制数据bin文件需用户自己准备。可以输入绝对路径。 若用户添加了“Value”字段,“DataDistribute”和“ValueRange”字段将会被隐藏。同时需要保证“Format”,"Type","Shape"字段的值与“Value”数据一致,且每个用例只能测试一种数据类型。 |
- |
ValueRange |
必选。 int类型或者float类型,一维或者二维数组。 取值范围,不能为空。 为[min_value, max_value]且min_value <=max_value。 |
- |
DataDistribute |
必选。 String或者String的一维数组。
使用哪种数据分布方式生成测试数据,支持的分布方式有:
|
- |
isConst |
可选。 bool类型,默认为false。
|
Output[xx] |
- |
必选。 算子输出。
须知:
Output中参数取值的个数都要与Input一致,否则测试用例生成会失败。 例如:Input的format支持的类型个数2,则Output的format支持的类型个数也需要为2。 |
- |
Name |
必选。 算子输入的名称,string类型。 若配置期望函数,则算子输出的名称与期望函数中输出的名称需保持完全一致。 |
- |
Format |
必选。 String或者String的一维数组。 输出tensor数据的排布格式,不允许为空。 常见的数据排布格式如下:
注意,Format、Type和Shape的数量需保持一致。 |
- |
OriginFormat |
可选。Tensor的原始format。 不带此字段时,默认Tensor的实现format与原始format一致。 |
- |
Type |
必选。 String或者String的一维数组。 输出数据支持的数据类型:
注意,Format、Type和Shape的数量需保持一致。 |
- |
Shape |
必选。 int类型,一维或者二维数组。 输入tensor支持的形状。 例如: [8, 3, 256, 256]或[[1, 3, 256, 256], [8, 3, 256, 256]]。 若输入非法的形状会报错,例如:[0]。 注意,Format、Type和Shape的数量需保持一致。 |
- |
OriginShape |
可选。Tensor的原始shape。 不带此字段时,默认Tensor的实现shape与原始shape一致。 |
Attribute |
- |
可选。 |
- |
Name |
若配置attr,则为必选。 string类型。 属性的名称,不为空。 |
- |
Type |
若配置attr,则为必选属性支持的类型。 string类型。 输出数据支持的数据类型:
|
- |
Value |
若配置attr,则为必选,且不允许为null。 string类型。 属性值,根据type的不同,属性值不同。
|
Expected Result Verification |
- |
可选。 |
- |
Script Path |
可选。 路径String类型。 算子期望数据生成函数路径。 |
- |
Script Function |
可选。 String类型。 算子期望数据生成函数名称。 |
K-Level Test Cases |
- |
可选。 |
- |
Fuzz Script Path |
可选。 路径String类型。 fuzz生成测试参数的脚本路径的绝对路径或者相对路径。 |
- |
Fuzz Function |
可选。 String类型。 fuzz脚本中生成fuzz输入的函数名,默认为:“fuzz_branch”。 |
- |
Fuzz Case Num |
可选。 int类型。 利用fuzz脚本生成测试用例数量,范围为1-2000。 |
- 当算子信息定义文件(*.ini)中inputx.paramType=optional时,生成的算子测试用例中inputx的"format"需配置为"UNDEFINED"或"RESERVED","type"为"UNDEFINED"。
- 若配置的Shape某个维度为-1或者Shape为[-2]时(某维度为-1,如[200, -1] 说明第二个轴长度未知, [-2]场景表示维度未知),生成的算子测试用例中新增ShapeRange字段和TypicalShape字段。ShapeRange字段值为: [[1,-1]],表示Shape字段可以取任何值。用户需要在TypicalShape字段给出固定shape值,用于实际测试。
- 算子信息定义文件(*.ini)Tensor的实现format中包含华为自研数据格式,且Tensor的实现format与原始format不同时,用户需在"OriginFormat"和"OriginShape"中填入原始format和shape,将OriginFormat与OriginShape转成离线模型需要的format与shape。
- "OriginFormat"输入为原始算子支持的数据格式,个数必须与"Format"个数保持一致。
- "OriginShape"的输入值必须与"Shape"一一对应,且与"Format"和"OriginFormat"格式相匹配。
- Input[xx]、Output[xx]、Attr中除了name和Attr的Type以外的所有参数均支持fuzz输入。