裁减onnx模型
在部署模型的时候,有时会碰到需要将模型进行裁切的情况。现成的工具能够很方便的实现。
import onnx
r'''
input_name_list: List, 输入的名称列表
output_name_list: List, 输出的名称列表
'''
onnx.utils.extract_model('input.onnx', 'output.onnx', input_name_list, output_name_list)
下面具体解释一下怎么初始化 input_name_list
和 input_name_list
。
当我们使用netron打开一个onnx模型的时候,每个layer之间都会有一个箭头,由上一层的输出指向下一层的输入。
当单击箭头的时候,会出现 CONNECTION PROPERTITES
,其中的name就是我们需要的输入或输出的名称。
将需要的输入和输出的名称添加到列表中即可。