模型转换报错

用户您好,请详细描述您所遇到的问题:

  1. 系统软件版本: oe2.2.3
  2. 问题涉及的技术领域:模型转换
  3. 问题描述:模型转换过程中,检查模型时,发现部分leakyrelu算子在cpu上运行
  4. 提供必要的问题日志:

[root@cd3ec36e4054 mapper]# sh 01_check.sh

cd $(dirname $0) || exit

model_type=“onnx”

#onnx_model=“best0526.onnx”

onnx_model=“best32.onnx”

march=“bernoulli2”

hb_mapper checker --model-type ${model_type} \

--model ${onnx_model} \

--march ${march}

2022-11-02 14:02:35,435 INFO Start hb_mapper…

2022-11-02 14:02:35,435 INFO log will be stored in /data/data/ddk/samples/ai_toolchain/horizon_model_convert_sample/04_detection/03_yolov5s/mapper/hb_mapper_checker.log

2022-11-02 14:02:35,435 INFO hbdk version 3.27.1

2022-11-02 14:02:35,436 INFO horizon_nn version 0.12.8

2022-11-02 14:02:35,436 INFO hb_mapper version 1.5.5

2022-11-02 14:02:35,436 WARNING parameter [output] is deprecated

2022-11-02 14:02:35,472 INFO Model type: onnx

2022-11-02 14:02:35,472 INFO input names

2022-11-02 14:02:35,472 INFO input shapes {}

2022-11-02 14:02:35,472 INFO Begin model checking…

2022-11-02 14:02:35,472 INFO [Wed Nov 2 14:02:35 2022] Start to Horizon NN Model Convert.

2022-11-02 14:02:35,472 INFO The input parameter is not specified, convert with default parameters.

2022-11-02 14:02:35,472 INFO The hbdk parameter is not specified, and the submodel will be compiled with the default parameter.

2022-11-02 14:02:35,473 INFO HorizonNN version: 0.12.8

2022-11-02 14:02:35,473 INFO HBDK version: 3.27.1

2022-11-02 14:02:35,473 INFO [Wed Nov 2 14:02:35 2022] Start to parse the onnx model.

2022-11-02 14:02:35,605 INFO ONNX model info:

ONNX IR version: 6

Opset version: 11

Input name: data, [1, 3, 672, 672]

2022-11-02 14:02:35,781 INFO [Wed Nov 2 14:02:35 2022] End to parse the onnx model.

2022-11-02 14:02:35,782 INFO Model input names: [‘data’]

2022-11-02 14:02:35,879 INFO Saving the original float model: ./.hb_check/original_float_model.onnx.

2022-11-02 14:02:35,881 INFO [Wed Nov 2 14:02:35 2022] Start to optimize the model.

2022-11-02 14:02:36,270 INFO [Wed Nov 2 14:02:36 2022] End to optimize the model.

2022-11-02 14:02:36,335 INFO Saving the optimized model: ./.hb_check/optimized_float_model.onnx.

2022-11-02 14:02:36,336 INFO [Wed Nov 2 14:02:36 2022] Start to calibrate the model.

2022-11-02 14:02:36,596 INFO There are 1 samples in the calibration data set.

2022-11-02 14:02:36,599 INFO Run calibration model with max method.

2022-11-02 14:02:37,243 INFO [Wed Nov 2 14:02:37 2022] End to calibrate the model.

2022-11-02 14:02:37,244 INFO [Wed Nov 2 14:02:37 2022] Start to quantize the model.

2022-11-02 14:02:38,804 INFO [Wed Nov 2 14:02:38 2022] End to quantize the model.

2022-11-02 14:02:39,150 INFO Saving the quantized model: ./.hb_check/quantized_model.onnx.

2022-11-02 14:02:39,152 INFO [Wed Nov 2 14:02:39 2022] Start to compile the model with march bernoulli2.

2022-11-02 14:02:39,152 INFO Parsing the hbdk parameter:{‘hbdk_pass_through_params’: ‘–O0’}

2022-11-02 14:02:39,483 INFO Compile submodel: torch-jit-export_subgraph_0

2022-11-02 14:02:39,804 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.711069

2022-11-02 14:02:40,575 INFO Compile submodel: torch-jit-export_subgraph_1

2022-11-02 14:02:40,632 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0490467

2022-11-02 14:02:40,738 INFO Compile submodel: torch-jit-export_subgraph_2

2022-11-02 14:02:40,790 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.0216448

2022-11-02 14:02:40,869 INFO Compile submodel: torch-jit-export_subgraph_3

2022-11-02 14:02:40,936 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.0472112

2022-11-02 14:02:41,038 INFO Compile submodel: torch-jit-export_subgraph_4

2022-11-02 14:02:41,090 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0578241

2022-11-02 14:02:41,208 INFO Compile submodel: torch-jit-export_subgraph_5

2022-11-02 14:02:41,256 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.0421627

2022-11-02 14:02:41,356 INFO Compile submodel: torch-jit-export_subgraph_6

2022-11-02 14:02:41,411 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0613376

2022-11-02 14:02:41,528 INFO Compile submodel: torch-jit-export_subgraph_7

2022-11-02 14:02:41,582 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0355284

2022-11-02 14:02:41,674 INFO Compile submodel: torch-jit-export_subgraph_8

2022-11-02 14:02:41,722 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.0213657

2022-11-02 14:02:41,799 INFO Compile submodel: torch-jit-export_subgraph_9

2022-11-02 14:02:41,863 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0431496

2022-11-02 14:02:41,963 INFO Compile submodel: torch-jit-export_subgraph_10

2022-11-02 14:02:42,029 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0367165

2022-11-02 14:02:42,125 INFO Compile submodel: torch-jit-export_subgraph_11

2022-11-02 14:02:42,175 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NCHW’]

[==================================================] 100%

consumed time 0.0212378

2022-11-02 14:02:42,252 INFO Compile submodel: torch-jit-export_subgraph_12

2022-11-02 14:02:42,357 INFO hbdk-cc parameters:[‘–O0’, ‘–input-layout’, ‘NHWC’, ‘–output-layout’, ‘NHWC’]

[==================================================] 100%

consumed time 0.0455437

2022-11-02 14:02:43,041 INFO [Wed Nov 2 14:02:43 2022] End to compile the model with march bernoulli2.

2022-11-02 14:02:43,044 INFO The converted model node information:

=========================================================

Node ON Subgraph Type

---------------------------------------------------------

Conv_0 BPU id(0) HzSQuantizedConv

LeakyRelu_1 BPU id(0) HzLeakyRelu

Conv_2 BPU id(0) HzSQuantizedConv

LeakyRelu_3 BPU id(0) HzLeakyRelu

Conv_4 BPU id(0) HzSQuantizedConv

LeakyRelu_5 BPU id(0) HzLeakyRelu

Conv_6 BPU id(0) HzSQuantizedConv

LeakyRelu_7 BPU id(0) HzLeakyRelu

Conv_8 BPU id(0) HzSQuantizedConv

LeakyRelu_9 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_10 BPU id(0) HzSQuantizedConv

Conv_11 BPU id(0) HzSQuantizedConv

LeakyRelu_12 BPU id(0) HzLeakyRelu

Concat_13 BPU id(0) Concat

Conv_14 BPU id(0) HzSQuantizedConv

LeakyRelu_15 BPU id(0) HzLeakyRelu

Conv_16 BPU id(0) HzSQuantizedConv

LeakyRelu_17 BPU id(0) HzLeakyRelu

Conv_18 BPU id(0) HzSQuantizedConv

LeakyRelu_19 BPU id(0) HzLeakyRelu

Conv_20 BPU id(0) HzSQuantizedConv

LeakyRelu_21 BPU id(0) HzLeakyRelu

Conv_22 BPU id(0) HzSQuantizedConv

LeakyRelu_23 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_24 BPU id(0) HzSQuantizedConv

Conv_25 BPU id(0) HzSQuantizedConv

LeakyRelu_26 BPU id(0) HzLeakyRelu

Conv_27 BPU id(0) HzSQuantizedConv

LeakyRelu_28 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_29 BPU id(0) HzSQuantizedConv

Conv_30 BPU id(0) HzSQuantizedConv

LeakyRelu_31 BPU id(0) HzLeakyRelu

Concat_32 BPU id(0) Concat

Conv_33 BPU id(0) HzSQuantizedConv

LeakyRelu_34 BPU id(0) HzLeakyRelu

Conv_35 BPU id(0) HzSQuantizedConv

LeakyRelu_36 BPU id(0) HzLeakyRelu

Conv_37 BPU id(0) HzSQuantizedConv

LeakyRelu_38 BPU id(0) HzLeakyRelu

Conv_39 BPU id(0) HzSQuantizedConv

LeakyRelu_40 BPU id(0) HzLeakyRelu

Conv_41 BPU id(0) HzSQuantizedConv

LeakyRelu_42 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_43 BPU id(0) HzSQuantizedConv

Conv_44 BPU id(0) HzSQuantizedConv

LeakyRelu_45 BPU id(0) HzLeakyRelu

Conv_46 BPU id(0) HzSQuantizedConv

LeakyRelu_47 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_48 BPU id(0) HzSQuantizedConv

Conv_49 BPU id(0) HzSQuantizedConv

LeakyRelu_50 BPU id(0) HzLeakyRelu

Conv_51 BPU id(0) HzSQuantizedConv

LeakyRelu_52 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_53 BPU id(0) HzSQuantizedConv

Conv_54 BPU id(0) HzSQuantizedConv

LeakyRelu_55 BPU id(0) HzLeakyRelu

Concat_56 BPU id(0) Concat

Conv_57 BPU id(0) HzSQuantizedConv

LeakyRelu_58 BPU id(0) HzLeakyRelu

Conv_59 BPU id(0) HzSQuantizedConv

LeakyRelu_60 BPU id(0) HzLeakyRelu

Conv_61 BPU id(0) HzSQuantizedConv

LeakyRelu_62 BPU id(0) HzLeakyRelu

Conv_63 BPU id(0) HzSQuantizedConv

LeakyRelu_64 BPU id(0) HzLeakyRelu

Conv_65 BPU id(0) HzSQuantizedConv

LeakyRelu_66 BPU id(0) HzLeakyRelu

UNIT_CONV_FOR_Add_67 BPU id(0) HzSQuantizedConv

Conv_68 BPU id(0) HzSQuantizedConv

LeakyRelu_69 BPU id(0) HzLeakyRelu

Concat_70 BPU id(0) Concat

Conv_71 BPU id(0) HzSQuantizedConv

LeakyRelu_72 BPU id(0) HzLeakyRelu

Conv_73 BPU id(0) HzSQuantizedConv

LeakyRelu_74 BPU id(0) HzLeakyRelu

MaxPool_75 BPU id(0) HzQuantizedMaxPool

MaxPool_76 BPU id(0) HzQuantizedMaxPool

MaxPool_77 BPU id(0) HzQuantizedMaxPool

Concat_78 BPU id(0) Concat

Conv_79 BPU id(0) HzSQuantizedConv

LeakyRelu_80 BPU id(0) HzLeakyRelu

Conv_81 BPU id(0) HzSQuantizedConv

LeakyRelu_82 BPU id(0) HzLeakyRelu

Conv_83 BPU id(0) HzSQuantizedConv

LeakyRelu_84 CPU – LeakyRelu

Concat_85 CPU – Concat

Reshape_87 CPU – Reshape

Transpose_88 CPU – Transpose

Reshape_90 CPU – Reshape

Gather_92 CPU – Gather

Gather_94 CPU – Gather

Concat_95 CPU – Concat

Resize_97 CPU – Resize

Concat_98 CPU – Concat

Conv_99 BPU id(1) HzSQuantizedConv

LeakyRelu_100 BPU id(1) HzLeakyRelu

Conv_101 BPU id(1) HzSQuantizedConv

LeakyRelu_102 BPU id(1) HzLeakyRelu

Conv_103 BPU id(1) HzSQuantizedConv

LeakyRelu_104 CPU – LeakyRelu

Concat_105 CPU – Concat

Reshape_107 CPU – Reshape

Transpose_108 CPU – Transpose

Reshape_110 CPU – Reshape

Gather_112 CPU – Gather

Gather_114 CPU – Gather

Concat_115 CPU – Concat

Conv_116 BPU id(2) HzSQuantizedConv

Conv_117 BPU id(2) HzSQuantizedConv

Concat_118 CPU – Concat

Reshape_120 CPU – Reshape

Transpose_121 CPU – Transpose

Reshape_123 CPU – Reshape

Gather_125 CPU – Gather

Gather_127 CPU – Gather

Concat_128 CPU – Concat

Conv_129 BPU id(3) HzSQuantizedConv

Conv_131 BPU id(1) HzSQuantizedConv

LeakyRelu_132 BPU id(1) HzLeakyRelu

Concat_133 BPU id(3) Concat

Conv_134 BPU id(3) HzSQuantizedConv

LeakyRelu_135 BPU id(3) HzLeakyRelu

Conv_136 BPU id(3) HzSQuantizedConv

LeakyRelu_137 BPU id(3) HzLeakyRelu

Conv_138 BPU id(3) HzSQuantizedConv

LeakyRelu_139 CPU – LeakyRelu

Concat_140 CPU – Concat

Reshape_142 CPU – Reshape

Transpose_143 CPU – Transpose

Reshape_145 CPU – Reshape

Gather_147 CPU – Gather

Gather_149 CPU – Gather

Concat_150 CPU – Concat

Resize_152 CPU – Resize

Concat_153 CPU – Concat

Conv_154 BPU id(4) HzSQuantizedConv

LeakyRelu_155 BPU id(4) HzLeakyRelu

Conv_156 BPU id(4) HzSQuantizedConv

LeakyRelu_157 BPU id(4) HzLeakyRelu

Conv_158 BPU id(4) HzSQuantizedConv

LeakyRelu_159 CPU – LeakyRelu

Concat_160 CPU – Concat

Reshape_162 CPU – Reshape

Transpose_163 CPU – Transpose

Reshape_165 CPU – Reshape

Gather_167 CPU – Gather

Gather_169 CPU – Gather

Concat_170 CPU – Concat

Conv_171 BPU id(5) HzSQuantizedConv

Conv_172 BPU id(5) HzSQuantizedConv

Concat_173 CPU – Concat

Reshape_175 CPU – Reshape

Transpose_176 CPU – Transpose

Reshape_178 CPU – Reshape

Gather_180 CPU – Gather

Gather_182 CPU – Gather

Concat_183 CPU – Concat

Conv_184 BPU id(6) HzSQuantizedConv

Conv_186 BPU id(4) HzSQuantizedConv

LeakyRelu_187 BPU id(4) HzLeakyRelu

Concat_188 BPU id(6) Concat

Conv_189 BPU id(6) HzSQuantizedConv

LeakyRelu_190 BPU id(6) HzLeakyRelu

Conv_194 BPU id(6) HzSQuantizedConv

LeakyRelu_196 BPU id(6) HzLeakyRelu

Concat_197 CPU – Concat

Conv_198 BPU id(7) HzSQuantizedConv

LeakyRelu_199 BPU id(7) HzLeakyRelu

Conv_200 BPU id(7) HzSQuantizedConv

LeakyRelu_201 BPU id(7) HzLeakyRelu

Conv_202 BPU id(7) HzSQuantizedConv

LeakyRelu_203 CPU – LeakyRelu

Concat_204 CPU – Concat

Reshape_206 CPU – Reshape

Transpose_207 CPU – Transpose

Reshape_209 CPU – Reshape

Gather_211 CPU – Gather

Gather_213 CPU – Gather

Concat_214 CPU – Concat

Conv_215 BPU id(8) HzSQuantizedConv

Conv_216 BPU id(8) HzSQuantizedConv

Concat_217 CPU – Concat

Reshape_219 CPU – Reshape

Transpose_220 CPU – Transpose

Reshape_222 CPU – Reshape

Gather_224 CPU – Gather

Gather_226 CPU – Gather

Concat_227 CPU – Concat

Conv_228 BPU id(9) HzSQuantizedConv

Conv_230 BPU id(7) HzSQuantizedConv

LeakyRelu_231 BPU id(7) HzLeakyRelu

Concat_232 BPU id(9) Concat

Conv_233 BPU id(9) HzSQuantizedConv

LeakyRelu_234 BPU id(9) HzLeakyRelu

Conv_238 BPU id(9) HzSQuantizedConv

LeakyRelu_240 BPU id(9) HzLeakyRelu

Concat_241 CPU – Concat

Conv_242 BPU id(10) HzSQuantizedConv

LeakyRelu_243 BPU id(10) HzLeakyRelu

Conv_244 BPU id(10) HzSQuantizedConv

LeakyRelu_245 BPU id(10) HzLeakyRelu

Conv_246 BPU id(10) HzSQuantizedConv

LeakyRelu_247 CPU – LeakyRelu

Concat_248 CPU – Concat

Reshape_250 CPU – Reshape

Transpose_251 CPU – Transpose

Reshape_253 CPU – Reshape

Gather_255 CPU – Gather

Gather_257 CPU – Gather

Concat_258 CPU – Concat

Conv_259 BPU id(11) HzSQuantizedConv

Conv_260 BPU id(11) HzSQuantizedConv

Concat_261 CPU – Concat

Reshape_263 CPU – Reshape

Transpose_264 CPU – Transpose

Reshape_266 CPU – Reshape

Gather_268 CPU – Gather

Gather_270 CPU – Gather

Concat_271 CPU – Concat

Conv_272 BPU id(12) HzSQuantizedConv

Conv_274 BPU id(10) HzSQuantizedConv

LeakyRelu_275 BPU id(10) HzLeakyRelu

Concat_276 BPU id(12) Concat

Conv_277 BPU id(12) HzSQuantizedConv

LeakyRelu_278 BPU id(12) HzLeakyRelu

Conv_279 BPU id(6) HzSQuantizedConv

Conv_281 BPU id(9) HzSQuantizedConv

Conv_283 BPU id(12) HzSQuantizedConv

2022-11-02 14:02:43,045 INFO [Wed Nov 2 14:02:43 2022] End to Horizon NN Model Convert.

2022-11-02 14:02:43,053 INFO ONNX model output num : 3

2022-11-02 14:02:43,084 INFO End model checking…

你好,算子会做融合,不仅仅是自己的算子模块,还会和前后层的算子相关,目前验证没有问题