suma++ TensorRT Not Found

抱歉,新電腦剛裝了一個googlepinyin,居然是繁體字,難得該了,大家湊合看吧

復現環境:

TensorRT-8.2.1.8

Driver Version: 470.141.03

cuda_11.4 cudnn8.2.4

ubuntu20.04

TensorRT Not Found

在復現過程中,這個問題折磨我好久,在github上的issue也有兩個這樣的問題,但是對我來說都不能work,而且在csdn,google中搜索時發現suma++相關介紹挺多的,但是復現或者出現問題想搜索來解決卻沒有什麼參考的,所以寫這篇文章提供一些信息,可能會節約困擾中的你許多時間。

1.剛開始,在師兄的幫助下,我們把cmakelist中的TensorRT Found改爲手動鏈接,也可以編譯通過rangenet_lib,但是現在復現成功後發現,不管是github issue 還是手動鏈接庫,都沒有找到本質問題,即tensorRT的版本不同,裏面的(頭)文件也不一樣,以TensorRT-8.2.1.8和作者使用的tensorRT5.1爲例,在include下,TensorRT-8.2.1.8中並沒有NvOnnxParserRuntime.h文件,而5.1有(不同版本,自行比較),這也是suma++ TensorRT Not Found的根本原因:因爲:

rangenet_lib/cmake/tensorrt-config.cmake中把這個文件作爲找到TensorRT的與條件,那必然是找不到的.(  如下if(..........AND NVONNXPARSERRUNTIME)  )

# If it is ALL there, export libraries as a single package
if(CUDA_FOUND AND NVINFER AND NVINFERPLUGIN AND NVPARSERS AND NVONNXPARSER AND NVONNXPARSERRUNTIME)
  message("TensorRT available!")
  message("CUDA Libs: ${CUDA_LIBRARIES}")
  message("CUDA Headers: ${CUDA_INCLUDE_DIRS}")
  message("NVINFER: ${NVINFER}")
  message("NVINFERPLUGIN: ${NVINFERPLUGIN}")
  message("NVPARSERS: ${NVPARSERS}")
  message("NVONNXPARSER: ${NVONNXPARSER}")
  message("NVONNXPARSERRUNTIME: ${NVONNXPARSERRUNTIME}")
  list(APPEND TENSORRT_LIBRARIES ${CUDA_LIBRARIES} nvinfer nvinfer_plugin nvparsers nvonnxparser nvonnxparser_runtime)
  message("All togheter now (libs): ${TENSORRT_LIBRARIES}")
  list(APPEND TENSORRT_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
  message("All togheter now (inc): ${TENSORRT_INCLUDE_DIRS}")
  set(TENSORRT_FOUND ON)
else()
  message("TensorRT NOT Available")
  set(TENSORRT_FOUND OFF)
endif()

對於我來說,正確的tensorrt-config.cmake,(應該是通用的,如果tensorRT版本變化,需要相應的變化):

#####################################
## tensorrt specific configuration ##
#####################################
set(CMAKE_PREFIX_PATH "/opt/TensorRT-8.2.1.8/lib")
find_package(CUDA)
find_library(NVINFER  NAMES nvinfer)
find_library(NVINFERPLUGIN NAMES nvinfer_plugin)
find_library(NVPARSERS NAMES nvparsers)
find_library(NVONNXPARSER NAMES nvonnxparser)
# find_library(NVONNXPARSERRUNTIME NAMES nvonnxparser_runtime)

# If it is ALL there, export libraries as a single package
if(CUDA_FOUND AND NVINFER AND NVINFERPLUGIN AND NVPARSERS AND NVONNXPARSER)
  message("TensorRT available!")
  message("CUDA Libs: ${CUDA_LIBRARIES}")
  message("CUDA Headers: ${CUDA_INCLUDE_DIRS}")
  message("NVINFER: ${NVINFER}")
  message("NVINFERPLUGIN: ${NVINFERPLUGIN}")
  message("NVPARSERS: ${NVPARSERS}")
  message("NVONNXPARSER: ${NVONNXPARSER}")
  # message("NVONNXPARSERRUNTIME: ${NVONNXPARSERRUNTIME}")
  list(APPEND TENSORRT_LIBRARIES ${CUDA_LIBRARIES} nvinfer nvinfer_plugin nvparsers nvonnxparser)
  message("All togheter now (libs): ${TENSORRT_LIBRARIES}")
  list(APPEND TENSORRT_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
  message("All togheter now (inc): ${TENSORRT_INCLUDE_DIRS}")
  set(TENSORRT_FOUND ON)
else()
  message("TensorRT NOT Available")
  set(TENSORRT_FOUND OFF)
endif()

至此,解決了TensorRT Not Found問題

復現視頻

./visualizer 報錯:https://blog.csdn.net/weixin_58045467/article/details/126513326?spm=1001.2014.3001.5501

rangenet_lib && tensorRT8.** && ubuntu20.04 && suma++_缄默0603的博客-CSDN博客 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值