仿真测试
本章节主要介绍模型仿真测试工具的使用细节。通过仿真测试,您可以在 PC 端(当前仅限 x86 架构)模拟模型在进迭时空芯片上的运行情况,从而快速验证模型的功能和性能。
1 工具介绍
spine simulate
提供 PC 端(当前仅限 x86 架构)的模型仿真测试功能。该功能基于 SDK 中预置的qemu - riscv64
以及x86_64 - riscv64
交叉编译工具,支持标准 ONNX 模型及进迭时空 AI 部署工具量化后的模型,并保证推理结果与芯片端
运行结果完全一致。
1.1 使用说明
$ spine simulate -h
usage: spine simulate [-h] [--model_path MODEL_PATH] [--root_path ROOT_PATH] [--test_name TEST_NAME] [--output_dir OUTPUT_DIR] [--save_output]
[--inputs INPUTS] [--outputs OUTPUTS] [--verbose]
optional arguments:
-h, --help show this help message and exit
--model_path MODEL_PATH, -m MODEL_PATH
model path
--root_path ROOT_PATH, -r ROOT_PATH
root path for test data
--test_name TEST_NAME, -t TEST_NAME
test name
--output_dir OUTPUT_DIR, -o OUTPUT_DIR
output dir for test data
--save_output, -s save output
--inputs INPUTS, -i INPUTS
input tensor names with shapes(option)
--outputs OUTPUTS, -e OUTPUTS
output tensor names with shapes(option)
--verbose, -v verbose message, option is additive
1.2 参数说明
参数 | 必要/可选 | 默认值 | 说明 |
---|---|---|---|
-h, --help | 可选 | 无 | 打印使用说明 |
--model_path, -m | 必要 | 无 | 模型路径 |
--root_path, -r | 必要 | 无 | 测试数据集根目录 |
--test_name, -t | 必要 | 无 | 测试用例名称 |
--output_dir, -o | 可选 | 无 | 测试数据输出目录(若未指定,则默认在--root_path 下创建以--test_name 命名的子目录) |
--save_output, -s | 可选 | False | 是否保存 x86 测试输出结果 |
--inputs, -i | 可选 | None | 重新指定模型输入节点及 shape(可选),格式示例:input_1[n1,n2],input2[n3,n4],... |
--outputs, -e | 可选 | None | 重新指定模型输出节点及 shape(可选),格式示例:input_1[n1,n2],input2[n3,n4],... |
--verbose, -v | 可选 | 0 | 使能调试信息 |
2 测试数据
spine helper test
提供创建标准 ONNX 测试数据集功能。