中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker容器內安裝TensorRT的問題有哪些

發布時間:2021-05-17 14:33:22 來源:億速云 閱讀:561 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關docker容器內安裝TensorRT的問題有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Ubuntu上卸載已安裝的版本:

   sudo apt-get purge "libnvinfer*"

如果想把安裝文件都刪掉以釋放空間,執行:

   dpkg -l | grep tensorrt

查看到安裝包名,假如是nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007,則執行:

sudo dpkg -P nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007

這樣就把/var/nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007_1-1這樣的目錄文件刪掉了。

在Ubuntu主機上安裝TensorRT按照https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-debian 做即可,下載安裝repo的deb文件后執行下面的步驟即可,假如安裝適配CUDA10.2的TensorRT7.2.1版,執行:

sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.2.1.6-ga-20201006_1-1_amd64.deb

   sudo apt-key add /var/nv-tensorrt-repo-cuda10.2-trt7.2.1.6-ga-20201006/7fa2af80.pub

   sudo apt-get update

   sudo apt-get install tensorrt

如果是在docker容器內安裝就不能使用上面的步驟了,否則在安裝最后一步時總是會遇到類似如下的錯誤:

The following packages have unmet dependencies:
 tensorrt : Depends: libnvinfer-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvinfer-plugin-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvparsers-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvonnxparsers-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvinfer-samples (= 7.2.1-6+cuda10.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

容器內分明安裝的是CUDA10.2,TensorRT也是7.2.1.6+cuda10.2版的,但是就總是報上面類似的錯誤,換成其他版本也是一樣的繼續報類似錯,折騰得很郁悶,后來仔細看NVIDIA的文檔發現

docker容器內安裝TensorRT的問題有哪些

看來在docker容器內安裝TensorRT得用另外的辦法,但是呢,用Network Repo方式安裝去指定安裝一堆libnvinfer*庫(根據需要修改8為7)是在是麻煩:

docker容器內安裝TensorRT的問題有哪些

而且裝完后后來編譯程序時發現還有這樣那樣的問題,哪怕是指定版本的方式也是同樣有問題:

docker容器內安裝TensorRT的問題有哪些

又來回折騰了一陣還是有錯,最后往下看發現了這個最簡單可靠的方式:

docker容器內安裝TensorRT的問題有哪些

也就是說,最前面報那種莫名其妙的錯,其實是因為docker容器內配置有NVIDIA CUDA network repository,而手工下載安裝nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.2.1.6-ga-20201006_1-1_amd64.deb這樣的TensorRT local repository后,使用sudo apt-get install tensorrt安裝的話由于有兩種源會導致包沖突,只需要在/etc/apt/preferences.d/下增加個文件local-repo,內容是:

Package: *
Pin: origin ""
Pin-Priority: 1001

然后執行

 sudo apt-get update
 sudo apt-get install tensorrt

就順利安裝完成local repo對應的版本cuda10.2-trt7.2.1.6,然后編譯程序也沒見什么錯誤了!

感覺NVIDIA的文檔有的地方寫得真的是爛,不能針對每種環境安裝分別清楚無誤完整地說明白么,非要把很多攪合在一起讓用戶自己去蹚一個個坑

另外,如果是使用的RTX30序列的GPU,CUDA版本需要 >= 11.1,不然,雖然TensorRT可以安裝,但是實際運行時可能會報下面這樣的錯誤:

[W] [TRT] Half2 support requested on hardware without native FP16 support, performance will be negatively affected.
[E] [TRT] ../rtSafe/cuda/caskUtils.cpp (98) - Assertion Error in trtSmToCask: 0 (Unsupported SM.)

11.1.0雖然可以用,但是編譯caffe或darknet等某些程序時可能會有下面的錯誤:

    nvcc fatal: Unsupported gpu architecture 'compute_86'

所以對于RTX30序列的GPU,最好安裝CUDA的版本 >= 11.1.1

關于“docker容器內安裝TensorRT的問題有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 衡东县| 长乐市| 墨脱县| 吴川市| 扎鲁特旗| 克拉玛依市| 肃宁县| 泸定县| 稷山县| 广安市| 教育| 根河市| 桐柏县| 大荔县| 紫云| 沿河| 建宁县| 赣榆县| 泰和县| 黄浦区| 长治市| 曲周县| 南华县| 佛冈县| 黄冈市| 德惠市| 洛川县| 荆州市| 紫云| 钦州市| 凉山| 阿城市| 伊宁县| 南丰县| 四会市| 乌海市| 潍坊市| 武功县| 和顺县| 奈曼旗|