文章目錄
前言
一、前期準(zhǔn)備
二、具體步驟
1.啟動容器
2.使用容器
補(bǔ)充
前言
相信大家在學(xué)習(xí)新的知識前都遇到過開發(fā)環(huán)境安裝不上,或者環(huán)境沖突和版本不匹配的情況,另外當(dāng)我們想要安裝多個版本的支持庫時,在本地環(huán)境上直接安裝往往會導(dǎo)致版本沖突的情況,如果我們使用虛擬機(jī)或者WSL技術(shù)新建一個完整系統(tǒng),這又往往需要耗費(fèi)很長時間,同時在我們學(xué)習(xí)深度學(xué)習(xí)等相關(guān)技術(shù)時,我們需要使用到顯卡進(jìn)行計(jì)算,虛擬機(jī)調(diào)用顯卡很不方便,同時CUDA、cuDNN、cuBLAS、TensorRT等GPU計(jì)算支持庫都有強(qiáng)版本依賴,手動安裝需要耗費(fèi)很長時間,因此本文介紹通過docker的容器技術(shù)來實(shí)現(xiàn)使用Nvidia官方提供的鏡像庫創(chuàng)建?container容器。
一、前期準(zhǔn)備
本文將以創(chuàng)建一個包含python=3.8、CUDA=12.1、cuBLAS=12.1 、cuDNN=8.9、TensorRT=8.6.1、pytorch的container為例,介紹使用docker創(chuàng)建各種深度學(xué)習(xí)開發(fā)環(huán)境的詳細(xì)流程。下面是Nvidia Container Toolkit的官方鏈接。
Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.14.4 documentationhttps://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html本文需要您提前安裝好docker,如果您是第一次使用docker,十分建議您安裝docker桌面版。
Docker: Accelerated Container Application Developmenthttps://www.docker.com/
二、具體步驟
1.啟動容器
docker run -it -e NVIDIA_VISIBLE_DEVICES=0 --gpus "device=0" --name trt-cookbook \
--shm-size 16G --ulimit memlock=-1 --ulimit stack=67108864 \
-v ~:/work \
nvcr.io/nvidia/pytorch:23.04-py3 /bin/bash
這個命令是用于在 Docker 容器中運(yùn)行一個名為 “trt-cookbook” 的容器,它包含了 NVIDIA 的 CUDA 支持和 PyTorch 深度學(xué)習(xí)框架。以下是命令的各個部分的解釋:
-
docker run
:運(yùn)行一個 Docker 容器。 -
-it
:在交互模式下運(yùn)行容器。 -
-e NVIDIA_VISIBLE_DEVICES=0
:設(shè)置環(huán)境變量?NVIDIA_VISIBLE_DEVICES
?的值為 0,這表示僅將第一個 NVIDIA 可見設(shè)備(顯卡)分配給容器。 -
--gpus "device=0"
:顯式指定將第一個 GPU 分配給容器。 -
--name trt-cookbook
:為容器指定一個名稱為 “trt-cookbook”。 -
--shm-size 16G
:設(shè)置容器內(nèi)共享內(nèi)存大小為 16GB。 -
--ulimit memlock=-1
:設(shè)置容器的內(nèi)存鎖定限制為無限制,這意味著容器可以使用任意數(shù)量的內(nèi)存。 -
--ulimit stack=67108864
:設(shè)置容器的堆棧大小限制為 64MB。 -
-v ~:/work
:將主機(jī)的家目錄?~
?掛載到容器的?/work
?目錄,這樣你可以在容器中訪問主機(jī)上的文件。 -
nvcr.io/nvidia/pytorch:23.04-py3
:使用 NVIDIA 這個 Docker 鏡像,它包含了 PyTorch 深度學(xué)習(xí)框架和其他依賴庫的預(yù)安裝版本。 -
/bin/bash
:在容器中啟動一個交互式的 Bash 終端。
通過運(yùn)行這個命令,你將會在一個 Docker 容器中獲得一個預(yù)配置的 PyTorch 環(huán)境,你可以在其中運(yùn)行深度學(xué)習(xí)代碼。
當(dāng)終端出現(xiàn)下面Logs后,表明docker容器已經(jīng)創(chuàng)建并運(yùn)行。
注意:該命令將在線下載Nvidia提供的鏡像,文件較大,因此耗時較長,請耐心等待并注意網(wǎng)絡(luò)設(shè)置。
2.使用容器
當(dāng)上一步的命令運(yùn)行完成,可以在docker的Containers目錄下看到一個trt-cookbook容器,點(diǎn)擊Open in terminal 即可在終端使用該容器。
容器創(chuàng)建完成!僅需要一行命令即可,由于Nvidia的鏡像中已經(jīng)安裝好了全部的GPU計(jì)算庫,因此容器無需手動安裝CUDA、pytorch等。
補(bǔ)充
如何打開多個docker終端?
使用docker exec -it 容器id /bin/bash命令進(jìn)入容器文章來源:http://www.zghlxwxcb.cn/news/detail-825907.html
docker?exec?-it e3a6dba4d /bin/bash
?大功告成!文章來源地址http://www.zghlxwxcb.cn/news/detail-825907.html
到了這里,關(guān)于Docker:使用Nvidia官方的pytorch、tensorflow、TensorRT鏡像創(chuàng)建Container容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!