简介¶
模型评估脚本用于评估onnx模型网络中算子类型、内存占用和编译后模型大小。由于芯片在逻辑上有其特殊的处理,该脚本能方便用户更加准确地进行模型前期的分析处理。
使用前准备¶
环境检查¶
表 1 软件要求
名称 |
版本号 |
|---|---|
python |
python3.7.x~python3.11.x |
onnx |
1.8.0~1.14.0 |
numpy |
>=1.13.3 (onnx 1.14.0配套1.21.6~1.26.4) |
限制约束¶
用户提供的onnx浮点模型能推导得到中间tensor信息,如shape、dtype等。
工具评估时不考虑融合规则影响。
工具评估时不考虑常量折叠。
涉及fifo轮转算子时,仅考虑gru/lstm的额外空间占用。
使用步骤¶
在Linux上准备评估脚本onnx_estimate.py,内容见附件onnx_estimate.rar。
将待评估的onnx模型拷贝到Linux某个目录下。
在Linux上执行评估脚本。
# -m/--onnx_model表示待评估模型路径 # -p/--print_enable表示是否打印各层详细信息,加上-p参数则打印,否则不打印 python3 onnx_estimate.py -m/--onnx_model estimate_model_path -p/--print_enable
查看评估结果
参数项
描述
TOTAL_WEIGHT_SIZE
预估模型的权重大小
TOTAL_MEM_SIZE
预估模型执行时的内存占用
TOTAL_EXEOM_SIZE
预估编译后模型文件大小
TOTAL_NET_OP_TYPE
浮点模型中包含的算子类型
NOT_SUPPORT_OP_TYPE
NPU在评估模型中不支持的类型(不保证精度)