一、环境配置

  • cmake来进行工程编译,linux优先,需要opencv,cuda, tensorrt,cudnn
  • tensorrt环境问题:https://github.com/Smorodov/Multitarget-tracker/issues/397  issune里面作者建议tensorrt 8.4
    • 但我使用TensorRT-8.0.3.4.cuda11.3.cudnn8.2和TensorRT-8.6.0都不行,都有很多bug;
    • 使用TensorRT-10.6.0.26的bug会少一点。编译还是有问题。需要学习CmakeLists的message和编译错误,通过message来发现问题在哪,这个需要好好学习一下。
  • 以下错误如何解决?
  • vscode下面,不变异tensorrt-yolo就可以通过;然后vscode下的debug需要将.vscode放在主文件夹路径下;也需要使用cmake工具来编译,才能通过;
  • ​​​​​​​命令行自己cmake的不行,无法debug;注意一下。
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1330:23: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘getNbBindings’
 1330 |     assert((m_Engine->getNbBindings() == (1 + m_OutputTensors.size())
      |                       ^~~~~~~~~~~~~
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1335:34: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘getBindingName’
 1335 |         assert(!strcmp(m_Engine->getBindingName(tensor.bindingIndex), tensor.blobName.c_str())
      |                                  ^~~~~~~~~~~~~~
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1337:44: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘getBindingDimensions’
 1337 |         assert(get3DTensorVolume(m_Engine->getBindingDimensions(tensor.bindingIndex))
      |                                            ^~~~~~~~~~~~~~~~~~~~
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1342:22: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘bindingIsInput’
 1342 |     assert(m_Engine->bindingIsInput(m_InputBindingIndex) && "Incorrect input binding index \n");
      |                      ^~~~~~~~~~~~~~
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1343:22: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘getBindingName’
 1343 |     assert(m_Engine->getBindingName(m_InputBindingIndex) == m_InputBlobName
      |                      ^~~~~~~~~~~~~~
/home/helen/code/smorodov/Multitarget-tracker/src/Detector/tensorrt_yolo/yolo.cpp:1345:40: error: ‘class nvinfer1::ICudaEngine’ has no member named ‘getBindingDimensions’
 1345 |     assert(get3DTensorVolume(m_Engine->getBindingDimensions(m_InputBindingIndex)) == m_InputSize);

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐