丁香花高清在线完整版,聚会的目的韩国电影,办公室椅子上,少女在线观看高清完整版免费动漫,无码人妻av久久久一区二区三区

千鋒(feng)教育-做有(you)(you)情(qing)懷、有(you)(you)良心、有(you)(you)品(pin)質(zhi)的職業教育機(ji)構

手機站
千鋒教育

千(qian)鋒(feng)學(xue)習(xi)站(zhan) | 隨時隨地免(mian)費學(xue)

千鋒教育

掃一掃進入(ru)千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當(dang)前(qian)位(wei)置(zhi):首頁  >  技術干貨  > 如何搭建基于容器的深度學習環境

如何搭建基于容器的深度學習環境

來源:千鋒教育
發布人:xqq
時間: 2023-12-06 14:50:50 1701845450

歷史上,人工智能的概念幾經沉浮。如今,憑借低成本的存儲、高性能的算力和改進的訓練方法,舊的概念再次煥發出新的生機。以TensorFlow和PyTorch為代表的一眾深度學習框架的出現,更是將這個領域的門檻降到天下何人不煉丹的程度。

然而,深(shen)度學習靠(kao)框(kuang)架(jia),框(kuang)架(jia)還要挑(tiao)CUDA。

技術的(de)飛速發展和訓練框架的(de)野蠻迭代(dai)背后,是(shi)一地不兼(jian)容的(de)版本號,和繞口(kou)令一般的(de)困境(jing)。

不同(tong)的(de)PyTorch版本(ben)依賴不同(tong)的(de)CUDA版本(ben)

不(bu)同的TensorFlow版本(ben)依賴不(bu)同的cuDNN版本(ben)

不(bu)同(tong)的cuDNN版本也依賴(lai)不(bu)同(tong)的CUDA版本

不(bu)同的(de)CUDA版本依賴不(bu)同的(de)NVIDIAGPU驅動(dong)版本

最后不(bu)同操作(zuo)系統的不(bu)同版(ban)(ban)本(ben)只支持個別版(ban)(ban)本(ben)的GPU驅(qu)動

所以新手(shou)最常遇到的場景(jing)是,為了運行一份最后更新于三(san)年前的、散(san)發(fa)著古早味的、據(ju)說很厲害的代碼(ma),降級并重裝整個操(cao)作系統,并且常常因為誤信(xin)了網(wang)上流傳的同樣古早的二手(shou)知識而以失(shi)敗告終。

基于云(yun)的(de)GPU環(huan)境一般都(dou)會提供預裝的(de)鏡像(xiang),但(dan)畢竟(jing)選擇有(you)限,不(bu)能覆(fu)蓋所(suo)有(you)的(de)場景。數(shu)據科(ke)學家(jia)們大(da)多不(bu)是工(gong)程師,糾纏這些底層細節既不(bu)擅長也無意義。工(gong)程化的(de)缺失一直是深度(du)學習領(ling)域面臨的(de)重大(da)問(wen)題,年輕的(de)煉丹師們流汗又流淚。

本文將介(jie)紹(shao)如何基(ji)于容器技術(shu)快速供給(gei)和切(qie)換不(bu)同的cuDNN/CUDA運(yun)行時,輕松搭建不(bu)同版本的深(shen)度學習環(huan)境。

GPU容器化(hua)的核心(xin)是NVIDIA Container Toolkit:

不同(tong)的(de)容器共享(xiang)GPU硬件和驅動,上層(ceng)的(de)cuDNN/CUDA組(zu)件已經(jing)預先打包在鏡(jing)像里,CUDA與底(di)層(ceng)的(de)驅動和操作系統實現(xian)解(jie)耦,不同(tong)版(ban)本的(de)運行(xing)時可以在同(tong)一臺主機上共存,宿(su)主機上只需要安(an)裝最新版(ban)本的(de)NVIDIA GPU驅動即可。

盡管很寬泛,但是NVIDIAContainer Toolkit對操作系統的(de)發(fa)行(xing)版和版本(ben)號還是有基本(ben)的(de)要求:

上表(biao)中常用(yong)(yong)的操作系(xi)統,Debian過于保(bao)(bao)守,Ubuntu太過激(ji)進,裝機(ji)量較大的CentOS又前途不明,所以(yi)我們選擇完全兼容CentOS又有Oracle官方長(chang)期支持保(bao)(bao)障的Oracle Linux作為環境安裝的基石(shi),這里使用(yong)(yong)最新的8.4版(ban)本。

首先安(an)裝GPU驅動,NVIDIA提(ti)供了三種(zhong)安(an)裝方式:本地全量(liang)(liang)rpm包(bao)、網絡rpm倉庫和(he)二(er)進制可執(zhi)行文件(jian)。毫無疑問應該選擇本地全量(liang)(liang)rpm包(bao),因(yin)為(wei)舊的(de)依賴包(bao)不久就會(hui)被從網絡上移除(chu),而GPU硬件(jian)的(de)使用壽命明顯遠遠長(chang)于這些軟(ruan)件(jian),所以(yi)不建議選擇網絡倉庫,以(yi)免將來(lai)無法重新安(an)裝;不選擇二(er)進制可執(zhi)行文件(jian)是因(yin)為(wei)安(an)裝后難以(yi)干凈地移除(chu),升(sheng)級時可能會(hui)遇到(dao)沖突。

在//developer.nvidia.com/cuda-downloads下載全量rpm包(bao):

安(an)裝(zhuang)內(nei)核頭文(wen)件,注(zhu)意OracleLinux默認使用(yong)的是(shi)UEK內(nei)核,如果使用(yong)主線內(nei)核請(qing)做相應(ying)調整(zheng)(安(an)裝(zhuang)kernel-devel):

【代碼】

安(an)裝(zhuang)驅動模塊(kuai)和必(bi)要的依(yi)賴:

【代碼】

第二步(bu),安裝并啟(qi)動(dong)Docker服務(wu):

【代碼】

最后(hou),安裝NVIDIA Container Toolkit并且(qie)重啟Docker服(fu)務:

【代碼】

NVIDIA在//gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md提供了從CUDA 9.2到CUDA 11..4.1的(de)(de)多(duo)種官方鏡像,創建不同(tong)版本的(de)(de)cuDNN/CUDA運(yun)行(xing)時(shi)只需(xu)要簡單拉取對應的(de)(de)鏡像即可。

比如安裝PyTorch 1.9.0所需的CUDA 10.2:

【代碼】

【輸出】

不(bu)要被(bei)右上角的CUDA版本(ben)號嚇到,它只是(shi)表(biao)明當前宿(su)主機的GPU驅動(dong)所能支持CUDA的最高版本(ben),容器中(zhong)真正的CUDA版本(ben)可以通過nvcc命(ming)令來驗證:

【代碼】

【輸出】

祝煉丹成功。

tags: IT培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT