cpp_infer.py推理过程报错, InvalidArgumentError: Tensor holds the wrong type, it holds int, but desires to be float.
Created by: wyc880622
我训练的是 faster_rcnn_r50_fpn_1x 推理过程报错,但是我训练的yolov3_darknet1和faster_rcnn_r50_1x 在推理过程就没有报错,这是为什么?
(pad) D:\projects\PaddleDetection-master>python tools/cpp_infer01.py --model_path=inference_model/faster_rcnn_r50_fpn_1x/ --config_path=tools/infer_cfg.yml --infer_img=demo/1.jpg --visualize
2020-05-14 15:03:53,943-INFO: The architecture is YOLO
2020-05-14 15:03:53,943-INFO: Extra info: im_size
2020-05-14 15:03:53,949-INFO: min_subgraph_size = 3.
2020-05-14 15:03:53,949-INFO: Run inference by Fluid FP32.
I0514 15:03:54.333662 13196 analysis_predictor.cc:84] Profiler is deactivated, and no profiling report will be generated.
I0514 15:03:54.349287 13196 analysis_predictor.cc:833] MODEL VERSION: 1.7.2
I0514 15:03:54.349287 13196 analysis_predictor.cc:835] PREDICTOR VERSION: 1.7.2
e[1me[35m--- Running analysis [ir_graph_build_pass]e[0m
e[1me[35m--- Running analysis [ir_graph_clean_pass]e[0m
e[1me[35m--- Running analysis [ir_analysis_pass]e[0m
e[32m--- Running IR pass [is_test_pass]e[0m
e[32m--- Running IR pass [simplify_with_basic_ops_pass]e[0m
e[32m--- Running IR pass [conv_affine_channel_fuse_pass]e[0m
e[32m--- Running IR pass [conv_eltwiseadd_affine_channel_fuse_pass]e[0m
e[32m--- Running IR pass [conv_bn_fuse_pass]e[0m
I0514 15:03:54.630534 13196 graph_pattern_detector.cc:101] --- detected 53 subgraphs
e[32m--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]e[0m
e[32m--- Running IR pass [multihead_matmul_fuse_pass]e[0m
e[32m--- Running IR pass [fc_fuse_pass]e[0m
I0514 15:03:54.802438 13196 graph_pattern_detector.cc:101] --- detected 2 subgraphs
I0514 15:03:54.802438 13196 graph_pattern_detector.cc:101] --- detected 2 subgraphs
e[32m--- Running IR pass [fc_elementwise_layernorm_fuse_pass]e[0m
e[32m--- Running IR pass [conv_elementwise_add_act_fuse_pass]e[0m
I0514 15:03:54.849287 13196 graph_pattern_detector.cc:101] --- detected 38 subgraphs
e[32m--- Running IR pass [conv_elementwise_add2_act_fuse_pass]e[0m
I0514 15:03:54.864910 13196 graph_pattern_detector.cc:101] --- detected 16 subgraphs
e[32m--- Running IR pass [conv_elementwise_add_fuse_pass]e[0m
I0514 15:03:54.864910 13196 graph_pattern_detector.cc:101] --- detected 22 subgraphs
e[32m--- Running IR pass [transpose_flatten_concat_fuse_pass]e[0m
e[32m--- Running IR pass [runtime_context_cache_pass]e[0m
e[1me[35m--- Running analysis [ir_params_sync_among_devices_pass]e[0m
I0514 15:03:54.880537 13196 ir_params_sync_among_devices_pass.cc:41] Sync params from CPU to GPU
e[1me[35m--- Running analysis [adjust_cudnn_workspace_size_pass]e[0m
e[1me[35m--- Running analysis [inference_op_replace_pass]e[0m
e[1me[35m--- Running analysis [ir_graph_to_program_pass]e[0m
I0514 15:03:55.130568 13196 analysis_predictor.cc:462] ======= optimize end =======
I0514 15:03:55.130568 13196 naive_executor.cc:105] --- skip [feed], feed -> im_shape
I0514 15:03:55.130568 13196 naive_executor.cc:105] --- skip [feed], feed -> im_info
I0514 15:03:55.130568 13196 naive_executor.cc:105] --- skip [feed], feed -> image
I0514 15:03:55.130568 13196 naive_executor.cc:105] --- skip [multiclass_nms_0.tmp_0], fetch -> fetch
W0514 15:03:55.364907 13196 device_context.cc:237] Please NOTE: device: 0, CUDA Capability: 75, Driver API Version: 10.2, Runtime API Version: 10.0
W0514 15:03:55.364907 13196 device_context.cc:245] device: 0, cuDNN Version: 7.6.
2020-05-14 15:03:56,427-INFO: warmup...
Traceback (most recent call last):
File "tools/cpp_infer01.py", line 630, in <module>
infer()
File "tools/cpp_infer01.py", line 558, in infer
predict.zero_copy_run()
paddle.fluid.core_avx.EnforceNotMet:
--------------------------------------------
C++ Call Stacks (More useful to developers):
--------------------------------------------
Windows not support stack backtrace yet.
------------------------------------------
Python Call Stacks (More useful to users):
------------------------------------------
File "C:\ProgramData\Anaconda3\envs\pad\lib\site-packages\paddle\fluid\framework.py", line 2525, in append_op
attrs=kwargs.get("attrs", None))
File "C:\ProgramData\Anaconda3\envs\pad\lib\site-packages\paddle\fluid\layer_helper.py", line 43, in append_op
return self.main_program.current_block().append_op(*args, **kwargs)
File "C:\ProgramData\Anaconda3\envs\pad\lib\site-packages\paddle\fluid\layers\detection.py", line 2814, in generate_proposals
'RpnRoiProbs': rpn_roi_probs})
File "D:\projects\PaddleDetection-master\ppdet\core\workspace.py", line 150, in partial_apply
return op(*args, **kwargs_)
File "D:\projects\PaddleDetection-master\ppdet\modeling\anchor_heads\rpn_head.py", line 438, in _get_single_proposals
variances=self.anchor_var)
File "D:\projects\PaddleDetection-master\ppdet\modeling\anchor_heads\rpn_head.py", line 462, in get_proposals
fpn_feat, im_info, lvl, mode)
File "D:\projects\PaddleDetection-master\ppdet\modeling\architectures\faster_rcnn.py", line 100, in build
rois = self.rpn_head.get_proposals(body_feats, im_info, mode=mode)
File "D:\projects\PaddleDetection-master\ppdet\modeling\architectures\faster_rcnn.py", line 248, in test
return self.build(feed_vars, 'test')
File "tools/export_model.py", line 193, in main
test_fetches = model.test(feed_vars)
File "tools/export_model.py", line 212, in <module>
main()
----------------------
Error Message Summary:
----------------------
InvalidArgumentError: Tensor holds the wrong type, it holds int, but desires to be float.
[Hint: Expected valid == true, but received valid:0 != true:1.] at (D:\1.7.2\paddle\paddle/fluid/framework/tensor_impl.h:33)
[operator < generate_proposals > error]