提交 6f74780a 编写于 作者: M Megvii Engine Team

Merge pull request #413 from kagome1007:master

GitOrigin-RevId: a0c38c444abc1e099eda8192fcd3404f3faa5130
## LiteTest
LiteTest 是测试MegEngine Lite 功能的工具,其中包括 NetWork测试,Tensor测试等一些基本功能的单元测试,另外还支持设备模型兼容性测试。
### Network 测试
Network 测试主要实现在文件 test_network.cpp,test_network_c.cpp,test_network_options.cpp 文件中:
* test_network.cpp:测试 MegEngine Lite 的 C++ 接口是否正确,主要测试 Network 的基本功能,包括:模型加载,模型配置,模型运行,模型加解密,模型打包等功能。
* test_network_options.cpp:测试 MegEngine Lite 的 C++ 接口中配置模型的优化选项是否正确,比如 record,weight_preprocess 等。
* test_network_c.cpp:主要测试 MegEngine Lite 的纯 C 接口是否正确,里面完全调用 MegEngine Lite 的纯 C 接口进行 Network 的推理。
### Tensor 测试
Tensor 测试主要测试 MegEngine Lite 中 Tensor 的使用是否正确,是否满足设计需要,有两个文件,分别是 test_tensor.cpp, test_tensor_c.cpp 。
### 设备模型兼容性测试
除了基本的功能测试外,还支持设备模型兼容性测试,主要实现在 test_network.cpp 的IONoCopyRecordAx中。
#### 基本原理
* IONoCopyRecordAx test 读取指定目录下的所有模型文件,目前定义为:ax_models 文件夹。
* IONoCopyRecordAx test使用 MegEngine Lite 接口遍历上面读取到的模型文件。
* 配置各种 MegEngine Lite 的参数。
* 运行模型,将模型运行之后的结果和正确的结果进行对比。
* 统计兼容的模型,如果某个模型报错,或者计算结果不正确,则这个设备上不支持这个模型。
* 统计所有成功的模型和失败的模型,输出 log 。
用户可以在 test 目录下新建 resource/lite/ax_models 目录,并将需要测试的模型放到该目录,运行这个 test 则可以完成测试。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册