如何获取msopst工具
msopst工具存储在Ascend-cann-toolkit装置目录的“toolkit/python/site-packages/bin”门路下。反对对TBE算子以及AI CPU算子进行ST测试。
CANN软件装置实现并失效环境变量配置脚本后,即可间接应用此工具,您能够在任意门路下执行如下命令查看工具相干参数:
总体应用流程
自定义算子部署到OPP算子库后,开发者可应用msopst工具验证算子在昇腾AI处理器上执行的正确性,总体流程较简略,如下所示:
上面咱们别离介绍以上每一个步骤是干什么的?该如何做?
生成测试用例定义文件
测试用例定义文件,顾名思义,就是用来生成测试用例的,其内容蕴含了测试用例所需的根本信息,例如:测试用例名称,所要测试的算子类型,算子的输入输出形容信息(形态、数据类型、数据排布格局等)、算子属性相干信息(蕴含属性名称、类型、属性值)、数据生成算法等。以Add算子为例,通过msopst工具生成测试用例定义文件的命令如下:
上述命令执行实现后,会在以后门路的output目录下生成Add算子的测试用例定义文件:Add_case_{timestamp}.json。
当然,您也能够不应用msopst create命令,间接拷贝已有算子的测试用例定义文件进行批改亦可,应用算子信息库生成的劣势是会主动填充测试用例定义文件中的相干字段,例如case_name,op,input_desc与output_desc中的name、format、type等。OpType_case_xxx.json文件的模板如下:
配置测试用例定义文件
测试用例定义文件的配置为整个ST测试流程的外围,间接决定了生成的测试用例个数、数据生成算法、测试覆盖率等,上面形容测试用例定义文件的参数含意及配置办法。
输入输出形容配置
输入输出形容信息蕴含的要害配置如下表所示:
测试用例采纳将以上配置进行正交组合的形式生成,如下图所示,format取值为[“ND”,“NCHW”, “NHWC”];type的取值为[“int32”,“float32”];shape的取值范畴为[32,16];data_distribute的取值为[“uniform”],value_range的取值为[0.1, 1.0],则生成的测试用例个数为 3 2 1 1 1 = 6。
算子属性配置
若算子蕴含属性,还须要配置如下表所示参数:
大批量生成测试用例
若开发者须要生成大量测试用例,可利用fuzz测试参数生成脚本辅助生成,并在测试用例定义文件( *.json )中配置fuzz脚本门路、所需生成的测试用例数目,同时输入输出形容中相干参数的取值配置为“fuzz”。操作步骤示例如下:
1、配置fuzz测试参数生成脚本,假如脚本命名“fuzz_shape.py”,实现如下所示:
2、配置测试用例定义文件;
3、在测试用例定义文件(*.json)中配置fuzz测试参数生成脚本的门路,所需生成的测试用例个数,并将须要主动生成的字段配置为固定值“fuzz”,如下所示:
定义冀望数据生成函数
若用户须要失去理论输入与冀望输入的比对后果,可应用Python语言自定义实现冀望数据生成函数,并在ST测试用例定义文件中减少此函数入口。例如,Add算子的冀望数据生成函数为“/home/test/test_add.py”,实现如下所示:
而后在ST测试用例定义文件中减少“calc_expect_func_file”参数,配置为“冀望数据生成函数的文件:函数名”,如下所示:
生成并执行测试用例
配置完相干环境变量后,您就能够通过如下命令执行ST测试用例:
查看执行后果
ST测试用例执行完后,您能够通过打屏信息查看用例执行后果,若下所示,共运行9个用例,9个用例全副执行胜利。
开发者也能够查看生成的报表“st_report.json”,此报表中记录了测试后果及各阶段的运行状况,ST测试用例运行异样时,能够基于此信息进行问题定位。
至此,ST测试工具“msopst”的应用全流程已介绍结束,您是否对此工具有了初步的认知呢?若您须要进行自定义算子的开发,别忘了应用此工具进行算子的ST测试噢~对于此工具的更多应用样例,可参见昇腾社区中的《TBE自定义算子开发指南》或《AI CPU自定义算子开发指南》。
( www.hiascend.com/document?ta… )
昇腾CANN文档核心致力于为开发者提供更优质的内容和更便捷的开发体验,助力CANN开发者共建AI生态。任何意见和倡议都能够在昇腾社区反馈,您的每一份关注都是咱们后退的能源。