PVRCNN C++部署推理报错
[libprotobuf ERROR /paddle/build/third_party/protobuf/src/extern_protobuf/src/google/protobuf/message_lite.cc:119] Can't parse message of type "paddle.framework.proto.ProgramDesc" because it is missing required| fields: blocks[0].vars[983].type.type, blocks[0].vars[989].type.type, blocks[0].vars[995].type.type, blocks[0].vars[1001].type.type, blocks[0].vars[1007].type.type, blocks[0].vars[1013].type.type, blocks[0].va| rs[1019].type.type, blocks[0].vars[1025].type.type, blocks[0].vars[1031].type.type, blocks[0].vars[1037].type.type, blocks[0].vars[1043].type.type, blocks[0].vars[1049].type.type, blocks[0].vars[1052].type.type| , blocks[0].vars[1055].type.type, blocks[0].vars[1058].type.type, blocks[0].vars[1061].type.type, blocks[0].vars[1064].type.type, blocks[0].vars[1067].type.type, blocks[0].vars[1070].type.type, blocks[0].vars[1| 073].type.type, blocks[0].vars[1076].type.type, blocks[0].vars[1079].type.type, blocks[0].vars[1082].type.type, blocks[0].vars[1085].type.type, blocks[0].vars[1086].type.type, blocks[0].vars[1087].type.type, bl| ocks[0].vars[1088].type.type, blocks[0].vars[1089].type.type, blocks[0].vars[1090].type.type, blocks[0].vars[1091].type.type, blocks[0].vars[1092].type.type, blocks[0].vars[1093].type.type, blocks[0].vars[1094]| .type.type, blocks[0].vars[1095].type.type, blocks[0].vars[1096].type.type, blocks[0].vars[1097].type.type, blocks[0].vars[1098].type.type | --- Running analysis [ir_graph_build_pass] | [libprotobuf ERROR /paddle/build/third_party/protobuf/src/extern_protobuf/src/google/protobuf/message_lite.cc:119] Can't parse message of type "paddle.framework.proto.ProgramDesc" because it is missing required| fields: blocks[0].vars[983].type.type, blocks[0].vars[989].type.type, blocks[0].vars[995].type.type, blocks[0].vars[1001].type.type, blocks[0].vars[1007].type.type, blocks[0].vars[1013].type.type, blocks[0].va| rs[1019].type.type, blocks[0].vars[1025].type.type, blocks[0].vars[1031].type.type, blocks[0].vars[1037].type.type, blocks[0].vars[1043].type.type, blocks[0].vars[1049].type.type, blocks[0].vars[1052].type.type| , blocks[0].vars[1055].type.type, blocks[0].vars[1058].type.type, blocks[0].vars[1061].type.type, blocks[0].vars[1064].type.type, blocks[0].vars[1067].type.type, blocks[0].vars[1070].type.type, blocks[0].vars[1| 073].type.type, blocks[0].vars[1076].type.type, blocks[0].vars[1079].type.type, blocks[0].vars[1082].type.type, blocks[0].vars[1085].type.type, blocks[0].vars[1086].type.type, blocks[0].vars[1087].type.type, bl| ocks[0].vars[1088].type.type, blocks[0].vars[1089].type.type, blocks[0].vars[1090].type.type, blocks[0].vars[1091].type.type, blocks[0].vars[1092].type.type, blocks[0].vars[1093].type.type, blocks[0].vars[1094]| .type.type, blocks[0].vars[1095].type.type, blocks[0].vars[1096].type.type, blocks[0].vars[1097].type.type, blocks[0].vars[1098].type.type | Aborted (core dumped)
指令:
./build/main --model_file /home/yw/Paddle3D/output/pv_rcnn.pdmodel --params_file /home/yw/Paddle3D/output/pv_rcnn.pdiparams |
--lidar_file /mnt/8tssd/kitti/detection/training/velodyne/000002.bin --num_point_dim 4 --point_cloud_range "0 -40 -3 70.4 40 1
环境:paddlepaddle-gpu=2.4.1.post112 cuda=11.2 python3.8 cudnn=8.2.0
`[libprotobuf ERROR /paddle/build/third_party/protobuf/src/extern_protobuf/src/google/protobuf/message_lite.cc:119] Can't parse message of type "paddle.framework.proto.ProgramDesc" because it is missing required fields: blocks[0].vars[983].type.type, blocks[0].vars[989].type.type, blocks[0].vars[995].type.type, blocks[0].vars[1001].type.type, blocks[0].vars[1007].type.type, blocks[0].vars[1013].type.type, blocks[0].vars[1019].type.type, blocks[0].vars[1025].type.type, blocks[0].vars[1031].type.type, blocks[0].vars[1037].type.type, blocks[0].vars[1043].type.type, blocks[0].vars[1049].type.type, blocks[0].vars[1052].type.type, blocks[0].vars[1055].type.type, blocks[0].vars[1058].type.type, blocks[0].vars[1061].type.type, blocks[0].vars[1064].type.type, blocks[0].vars[1067].type.type, blocks[0].vars[1070].type.type, blocks[0].vars[1073].type.type, blocks[0].vars[1076].type.type, blocks[0].vars[1079].type.type, blocks[0].vars[1082].type.type, blocks[0].vars[1085].type.type, blocks[0].vars[1086].type.type, blocks[0].vars[1087].type.type, blocks[0].vars[1088].type.type, blocks[0].vars[1089].type.type, blocks[0].vars[1090].type.type, blocks[0].vars[1091].type.type, blocks[0].vars[1092].type.type, blocks[0].vars[1093].type.type, blocks[0].vars[1094].type.type, blocks[0].vars[1095].type.type, blocks[0].vars[1096].type.type, blocks[0].vars[1097].type.type, blocks[0].vars[1098].type.type WARNING: Logging before InitGoogleLogging() is written to STDERR I0330 16:10:00.430377 7046 analysis_predictor.cc:881] TensorRT subgraph engine is enabled --- Running analysis [ir_graph_build_pass] [libprotobuf ERROR /paddle/build/third_party/protobuf/src/extern_protobuf/src/google/protobuf/message_lite.cc:119] Can't parse message of type "paddle.framework.proto.ProgramDesc" because it is missing required fields: blocks[0].vars[983].type.type, blocks[0].vars[989].type.type, blocks[0].vars[995].type.type, blocks[0].vars[1001].type.type, blocks[0].vars[1007].type.type, blocks[0].vars[1013].type.type, blocks[0].vars[1019].type.type, blocks[0].vars[1025].type.type, blocks[0].vars[1031].type.type, blocks[0].vars[1037].type.type, blocks[0].vars[1043].type.type, blocks[0].vars[1049].type.type, blocks[0].vars[1052].type.type, blocks[0].vars[1055].type.type, blocks[0].vars[1058].type.type, blocks[0].vars[1061].type.type, blocks[0].vars[1064].type.type, blocks[0].vars[1067].type.type, blocks[0].vars[1070].type.type, blocks[0].vars[1073].type.type, blocks[0].vars[1076].type.type, blocks[0].vars[1079].type.type, blocks[0].vars[1082].type.type, blocks[0].vars[1085].type.type, blocks[0].vars[1086].type.type, blocks[0].vars[1087].type.type, blocks[0].vars[1088].type.type, blocks[0].vars[1089].type.type, blocks[0].vars[1090].type.type, blocks[0].vars[1091].type.type, blocks[0].vars[1092].type.type, blocks[0].vars[1093].type.type, blocks[0].vars[1094].type.type, blocks[0].vars[1095].type.type, blocks[0].vars[1096].type.type, blocks[0].vars[1097].type.type, blocks[0].vars[1098].type.type terminate called after throwing an instance of 'phi::enforce::EnforceNotMet' what():
C++ Traceback (most recent call last):
0 paddle_infer::CreatePredictor(paddle::AnalysisConfig const&) 1 paddle_infer::Predictor::Predictor(paddle::AnalysisConfig const&) 2 std::unique_ptr<paddle::PaddlePredictor, std::default_deletepaddle::PaddlePredictor > paddle::CreatePaddlePredictor<paddle::AnalysisConfig, (paddle::PaddleEngineKind)2>(paddle::AnalysisConfig const&) 3 paddle::AnalysisPredictor::Init(std::shared_ptrpaddle::framework::Scope const&, std::shared_ptrpaddle::framework::ProgramDesc const&) 4 paddle::AnalysisPredictor::PrepareProgram(std::shared_ptrpaddle::framework::ProgramDesc const&) 5 paddle::AnalysisPredictor::OptimizeInferenceProgram() 6 paddle::inference::analysis::Analyzer::RunAnalysis(paddle::inference::analysis::Argument*) 7 paddle::inference::analysis::IrGraphBuildPass::RunImpl(paddle::inference::analysis::Argument*) 8 paddle::inference::analysis::IrGraphBuildPass::LoadModel(std::string const&, std::string const&, paddle::framework::Scope*, phi::Place const&, bool) 9 paddle::inference::Load(paddle::framework::Executor*, paddle::framework::Scope*, std::string const&, std::string const&) 10 paddle::framework::ProgramDesc::ProgramDesc(std::string const&) 11 phi::enforce::EnforceNotMet::EnforceNotMet(phi::ErrorSummary const&, char const*, int) 12 phi::enforce::GetCurrentTraceBackStringabi:cxx11
Error Message Summary:
InvalidArgumentError: Failed to parse program_desc from binary string. [Hint: Expected desc_.ParseFromString(binary_str) == true, but received desc_.ParseFromString(binary_str):0 != true:1.] (at /paddle/paddle/fluid/framework/program_desc.cc:103)
已放弃 (核心已转储)`
AI studio线上环境同样报错
python部署推理同样报错
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Sized
2023-03-30 20:05:01,389 - WARNING - No custom op iou3d_nms_cuda found, try JIT build
Compiling user custom op, it will cost a few seconds.....
2023-03-30 20:05:03,922 - INFO - iou3d_nms_cuda builded success!
2023-03-30 20:05:04,323 - WARNING - No custom op voxelize found, try JIT build
Compiling user custom op, it will cost a few seconds.....
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
W0330 20:05:14.809769 8689 custom_operator.cc:723] Operator (boxes_iou_bev_gpu) has been registered.
W0330 20:05:14.809840 8689 custom_operator.cc:723] Operator (boxes_iou_bev_cpu) has been registered.
W0330 20:05:14.809862 8689 custom_operator.cc:723] Operator (boxes_overlap_bev_gpu) has been registered.
W0330 20:05:14.809873 8689 custom_operator.cc:723] Operator (nms_gpu) has been registered.
W0330 20:05:14.810021 8689 custom_operator.cc:723] Operator (nms_normal_gpu) has been registered.
2023-03-30 20:05:14,832 - INFO - voxelize builded success!
2023-03-30 20:05:14,833 - WARNING - No custom op pointnet2_ops found, try JIT build
Compiling user custom op, it will cost a few seconds.....
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
W0330 20:06:07.779171 8689 custom_operator.cc:723] Operator (nms_gpu) has been registered.
W0330 20:06:07.779286 8689 custom_operator.cc:723] Operator (boxes_overlap_bev_gpu) has been registered.
W0330 20:06:07.779403 8689 custom_operator.cc:723] Operator (boxes_iou_bev_cpu) has been registered.
W0330 20:06:07.779443 8689 custom_operator.cc:723] Operator (nms_normal_gpu) has been registered.
W0330 20:06:07.779453 8689 custom_operator.cc:723] Operator (hard_voxelize) has been registered.
W0330 20:06:07.779464 8689 custom_operator.cc:723] Operator (boxes_iou_bev_gpu) has been registered.
2023-03-30 20:06:07,800 - INFO - pointnet2_ops builded success!
Traceback (most recent call last):
File "infer.py", line 23, in <module>
from paddle3d.ops.pointnet2_ops import voxel_query_wrapper, grouping_operation, farthest_point_sample
ModuleNotFoundError: No module named 'pointnet2_ops'
@wayyeah 感谢反馈,已经提交PR修复该问题:https://github.com/PaddlePaddle/Paddle3D/pull/297,可以拉取该PR进行验证
@wayyeah 感谢反馈,已经提交PR修复该问题:https://github.com/PaddlePaddle/Paddle3D/pull/297,可以拉取该PR进行验证
感谢修复,python推理问题修复了,C++推理的问题还是存在