真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

docker容器內(nèi)安裝TensorRT的問(wèn)題

Ubuntu上卸載已安裝的版本:

代縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

sudo apt-get purge "libnvinfer*"

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

dpkg -l | grep tensorrt

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

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主機(jī)上安裝TensorRT按照https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-debian 做即可,下載安裝repo的deb文件后執(zhí)行下面的步驟即可,假如安裝適配CUDA10.2的TensorRT7.2.1版,執(zhí)行:

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容器內(nèi)安裝就不能使用上面的步驟了,否則在安裝最后一步時(shí)總是會(huì)遇到類(lèi)似如下的錯(cuò)誤:

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.

容器內(nèi)分明安裝的是CUDA10.2,TensorRT也是7.2.1.6+cuda10.2版的,但是就總是報(bào)上面類(lèi)似的錯(cuò)誤,換成其他版本也是一樣的繼續(xù)報(bào)類(lèi)似錯(cuò),折騰得很郁悶,后來(lái)仔細(xì)看NVIDIA的文檔發(fā)現(xiàn)

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

而且裝完后后來(lái)編譯程序時(shí)發(fā)現(xiàn)還有這樣那樣的問(wèn)題,哪怕是指定版本的方式也是同樣有問(wèn)題:

又來(lái)回折騰了一陣還是有錯(cuò),最后往下看發(fā)現(xiàn)了這個(gè)最簡(jiǎn)單可靠的方式:

也就是說(shuō),最前面報(bào)那種莫名其妙的錯(cuò),其實(shí)是因?yàn)閐ocker容器內(nèi)配置有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安裝的話由于有兩種源會(huì)導(dǎo)致包沖突,只需要在/etc/apt/preferences.d/下增加個(gè)文件local-repo,內(nèi)容是:

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

然后執(zhí)行

sudo apt-get update sudo apt-get install tensorrt

就順利安裝完成local repo對(duì)應(yīng)的版本cuda10.2-trt7.2.1.6,然后編譯程序也沒(méi)見(jiàn)什么錯(cuò)誤了!

感覺(jué)NVIDIA的文檔有的地方寫(xiě)得真的是爛,不能針對(duì)每種環(huán)境安裝分別清楚無(wú)誤完整地說(shuō)明白么,非要把很多攪合在一起讓用戶(hù)自己去蹚一個(gè)個(gè)坑

另外,如果是使用的RTX30序列的GPU,CUDA版本需要 >= 11.1,不然,雖然TensorRT可以安裝,但是實(shí)際運(yùn)行時(shí)可能會(huì)報(bào)下面這樣的錯(cuò)誤:

[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等某些程序時(shí)可能會(huì)有下面的錯(cuò)誤:

    nvcc fatal: Unsupported gpu architecture 'compute_86'

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

以上就是docker容器內(nèi)安裝TensorRT的問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于docker安裝TensorRT的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!


名稱(chēng)欄目:docker容器內(nèi)安裝TensorRT的問(wèn)題
路徑分享:http://weahome.cn/article/sjh.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部