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博客?
總結
以上是生活随笔為你收集整理的suma++ TensorRT Not Found的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移臂调度算法c语言,磁盘移臂调度算法实验
- 下一篇: 对比Ubuntu与Win10的资源占用