opt 转模型部署报错
Created by: liangruofei
我用mobilennet-ssd进行训练,然后python slim/quantization/export_model.py -c ./configs/ssd/ssd_mobilenet_v1_voc.yml --output_dir=./inference_model_final_quant -o weights=./output/ssd_mobilenet_v1_voc/best_model进行模型量化,得到int8,用opt转nb时报这个错误。新手求解
[W 6/12 16:59: 1.455 .../release_2.3/Paddle-Lite/lite/api/opt.cc:137 RunOptimize] Load combined-param model. Option model_dir will be ignored [I 6/12 16:59: 1.456 ...ease_2.3/Paddle-Lite/lite/api/cxx_api.cc:245 Build] Load model from file. [I 6/12 16:59: 1.516 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_quant_dequant_fuse_pass [I 6/12 16:59: 1.520 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 36 subgraph [I 6/12 16:59: 1.534 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 34 subgraph [I 6/12 16:59: 1.582 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph [I 6/12 16:59: 1.584 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_quant_dequant_fuse_pass [I 6/12 16:59: 1.584 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: weight_quantization_preprocess_pass [I 6/12 16:59: 1.585 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: weight_quantization_preprocess_pass [I 6/12 16:59: 1.585 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 6/12 16:59: 1.589 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 12 subgraph [I 6/12 16:59: 1.590 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 6/12 16:59: 1.590 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_conv_bn_fuse_pass [I 6/12 16:59: 1.605 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 22 subgraph [I 6/12 16:59: 1.611 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph [I 6/12 16:59: 1.612 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_conv_bn_fuse_pass [I 6/12 16:59: 1.612 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_conv_elementwise_fuse_pass [I 6/12 16:59: 1.616 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_conv_elementwise_fuse_pass [I 6/12 16:59: 1.616 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_conv_activation_fuse_pass [I 6/12 16:59: 1.620 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 22 subgraph [I 6/12 16:59: 1.628 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 13 subgraph [I 6/12 16:59: 1.632 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_conv_activation_fuse_pass [I 6/12 16:59: 1.632 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_var_conv_2d_activation_fuse_pass [I 6/12 16:59: 1.632 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:177 RunPasses] - Skip lite_var_conv_2d_activation_fuse_pass because the target or kernel does not match. [I 6/12 16:59: 1.632 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_fc_fuse_pass [I 6/12 16:59: 1.633 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_fc_fuse_pass [I 6/12 16:59: 1.633 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_shuffle_channel_fuse_pass [I 6/12 16:59: 1.633 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_shuffle_channel_fuse_pass [I 6/12 16:59: 1.633 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_transpose_softmax_transpose_fuse_pass [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_transpose_softmax_transpose_fuse_pass [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_interpolate_fuse_pass [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: lite_interpolate_fuse_pass [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: identity_scale_eliminate_pass [I 6/12 16:59: 1.634 ...le-Lite/lite/core/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: identity_scale_eliminate_pass [I 6/12 16:59: 1.634 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: elementwise_mul_constant_eliminate_pass [I 6/12 16:59: 1.635 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:181 RunPasses] == Finished running: elementwise_mul_constant_eliminate_pass [I 6/12 16:59: 1.635 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: lite_sequence_pool_concat_fuse_pass [I 6/12 16:59: 1.635 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:177 RunPasses] - Skip lite_sequence_pool_concat_fuse_pass because the target or kernel does not match. [I 6/12 16:59: 1.635 ...se_2.3/Paddle-Lite/lite/core/optimizer.h:164 RunPasses] == Running pass: static_kernel_pick_pass [F 6/12 16:59: 1.637 ...lite/core/mir/static_kernel_pick_pass.cc:162 Apply] Check failed: !instruct.kernels().empty(): No kernels found for conv2d Aborted (core dumped)