带你掌握如何使用CANN 算子ST测试工具msopst

2022年10月02日02:59:20 科技 1107

本文分享自华为云社区《带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

总体使用流程

自定义算子部署到OPP算子库后,开发者可使用msopst工具验证算子在升腾AI处理器上执行的正确性,总体流程较简单,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

下面我们分别介绍以上每一个步骤是干什么的?该如何做?

生成测试用例定义文件

测试用例定义文件,顾名思义,就是用来生成测试用例的,其内容包含了测试用例所需的基本信息,例如:测试用例名称,所要测试的算子类型,算子的输入输出描述信息(形状、数据类型、数据排布格式等)、算子属性相关信息(包含属性名称、类型、属性值)、数据生成算法等。以Add算子为例,通过msopst工具生成测试用例定义文件的命令如下:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

上述命令执行完成后,会在当前路径的output目录下生成Add算子的测试用例定义文件:Add_case_{timestamp}.json。

当然,您也可以不使用msopst create命令,直接拷贝已有算子的测试用例定义文件进行修改亦可,使用算子信息库生成的优势是会自动填充测试用例定义文件中的相关字段,例如case_name,op,input_desc与output_desc中的name、format、type等。OpType_case_xxx.json文件的模板如下:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

配置测试用例定义文件

测试用例定义文件的配置为整个ST测试流程的核心,直接决定了生成的测试用例个数、数据生成算法、测试覆盖率等,下面描述测试用例定义文件的参数含义及配置方法。

输入输出描述配置

输入输出描述信息包含的关键配置如下表所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

测试用例采用将以上配置进行正交组合的方式生成,如下图所示,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。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

算子属性配置

若算子包含属性,还需要配置如下表所示参数:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

大批量生成测试用例

若开发者需要生成大量测试用例,可利用fuzz测试参数生成脚本辅助生成,并在测试用例定义文件( *.json )中配置fuzz脚本路径、所需生成的测试用例数目,同时输入输出描述中相关参数的取值配置为“fuzz”。操作步骤示例如下:

1、配置fuzz测试参数生成脚本,假设脚本命名“fuzz_shape.py”,实现如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

2、配置测试用例定义文件;

3、在测试用例定义文件(*.json)中配置fuzz测试参数生成脚本的路径,所需生成的测试用例个数,并将需要自动生成的字段配置为固定值“fuzz”,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

定义期望数据生成函数

若用户需要得到实际输出与期望输出的比对结果,可使用Python语言自定义实现期望数据生成函数,并在ST测试用例定义文件中增加此函数入口。例如,Add算子的期望数据生成函数为“/home/test/test_add.py”,实现如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

然后在ST测试用例定义文件中增加“calc_expect_func_file”参数,配置为“期望数据生成函数的文件:函数名”,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

生成并执行测试用例

配置完相关环境变量后,您就可以通过如下命令执行ST测试用例:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

查看执行结果

ST测试用例执行完后,您可以通过打屏信息查看用例执行结果,若下所示,共运行9个用例,9个用例全部执行成功。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

开发者也可以查看生成的报表“st_report.json”,此报表中记录了测试结果及各阶段的运行情况,ST测试用例运行异常时,可以基于此信息进行问题定位。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

至此,ST测试工具“msopst”的使用全流程已介绍完毕,您是否对此工具有了初步的认知呢?若您需要进行自定义算子的开发,别忘了使用此工具进行算子的ST测试噢~关于此工具的更多使用样例,可参见升腾社区中的《TBE自定义算子开发指南》或《AI CPU自定义算子开发指南》。

https://www.hiascend.com/document?tag=community-developer

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

升腾CANN文档中心致力于为开发者提供更优质的内容和更便捷的开发体验,助力CANN开发者共建AI生态。任何意见和建议都可以在升腾社区反馈,您的每一份关注都是我们前进的动力。

点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

科技分类资讯推荐

长安与东风重组新进展:朱华荣称不会改变长安既定战略 - 天天要闻

长安与东风重组新进展:朱华荣称不会改变长安既定战略

2月9日,长安汽车和东风集团股份(00489.HK)同步发布了控股股东“正在与其他国资央企集团筹划重组事项”的信息。长安汽车的控股股东是兵装集团,而东风集团股份的控股股东是东风公司。随即,长安汽车和东风集团这两家汽车央企将合并重组,成为业内关注的焦点。
公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了 - 天天要闻

公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了

电动车加强管理以后,要求机动车类型的车辆需要持证上路,但是老年人考驾照却受阻,一方面有年龄的限制,另一方面偏远山区考驾照不方便,所以在2025年公安部出手了,年龄限制放宽10年,同时推出送考下乡服务,还进一步的降低考驾照的费用,2025年起考摩托车驾照不难了。
从“星灵安全守护体系”到昊铂HL,看懂广汽科技日 - 天天要闻

从“星灵安全守护体系”到昊铂HL,看懂广汽科技日

发布会以技术切入,并全程围绕安全展开。广汽集团董事长、总经理冯兴亚率先登场,宣布2025年四季度将正式上市支持L3级智能驾驶的车型,他同时强调面向自动驾驶时代对智能驾驶技术、整车安全架构以及突发风险处理能力的要求更高。如何才能满足更高的要求?冯兴亚提到了“广汽
关税大棒下,最受伤的车企出现了 - 天天要闻

关税大棒下,最受伤的车企出现了

特朗普的关税大棒刚挥出,尚未吓退“外敌”,却先刺痛了自己。近日,拥有玛莎拉蒂、Jeep等14个品牌的全球第四大车企斯泰兰蒂斯突然宣布裁撤900名美国工人,关闭加拿大和墨西哥两家工厂,北美生产线陷入瘫痪。几乎同一时间,捷豹路虎宣布暂停对美出口一个月,奥迪更是直接