摘要:圖和之間的關(guān)系圖例與各版本之間的環(huán)境依賴關(guān)系的原裝驅(qū)動(dòng)并不支持,因此需要禁用掉并且重裝卡官方驅(qū)動(dòng)。會(huì)有很多同學(xué)在不知道的情況下安裝了,最后導(dǎo)致和無(wú)法使用或者無(wú)法安裝等問(wèn)題。
? 這是博主第一次寫(xiě)CSDN的博客,本人還是大學(xué)生一枚,如果有忽略的點(diǎn)請(qǐng)各位大哥大姐們指正。
? 今年博主就是個(gè)大四萌新了,想著繼續(xù)沖擊一把讀研,研究生想走的方向也是深度學(xué)習(xí)相關(guān)方向。因此把原本電腦上的win10換成了ubuntu,換了之后在安裝Tensorflow和pytorch的路上瘋狂采坑,接連重裝了三次Ubuntu,一度將Ubuntu20.04降版本為18.04,而關(guān)于我在學(xué)習(xí)使用Ubuntu時(shí)的問(wèn)題和解決方案我也會(huì)在后續(xù)的文章中列出。
? 博主在學(xué)習(xí)使用初期是在本機(jī)上搭的煉丹爐,而后來(lái)發(fā)現(xiàn)了一系列問(wèn)題諸如:
? (1)目前主流的深度學(xué)習(xí)框架如PyTorch和Tensorflow基本上是基于N卡的GPU,需要使用者安裝CUDA支持,而pytorch和tensorflow的版本對(duì)cudatoolkit又有著不同的對(duì)應(yīng)版本要求,不同版本的cudatoolkit可能在運(yùn)行框架代碼時(shí)無(wú)法找到對(duì)應(yīng)的文件。cudatoolkit版本與顯卡驅(qū)動(dòng)版本之間,甚至針對(duì)linux kernel和gcc/g++版本之間也有互相對(duì)應(yīng)(參考圖1-1和圖1-2)。過(guò)于繁雜的對(duì)應(yīng)關(guān)系,導(dǎo)致在環(huán)境搭建時(shí)及其容易導(dǎo)致環(huán)境沖突或者環(huán)境不滿足,最后無(wú)法正常運(yùn)行甚至把操作系統(tǒng)搞壞不得不重裝(我之前不熟悉Ubuntu apt的功能時(shí)為了重新安裝g++刪除舊版本的時(shí)候不小心把操作系統(tǒng)搞壞過(guò),最后導(dǎo)致XServer、apt等一系列功能全部失效,不得不重裝(后期博主也會(huì)發(fā)一份重裝Ubuntu的教程,為防止各位和傻乎乎的我一樣))。
? (2)Linux的原裝驅(qū)動(dòng)Nouveau并不支持CUDA,因此需要禁用掉Nouveau并且重裝N卡官方驅(qū)動(dòng)。會(huì)有很多同學(xué)在不知道的情況下安裝了cuda,最后導(dǎo)致pytorch和tensorflow無(wú)法使用或者CUDA無(wú)法安裝等問(wèn)題。而且更換顯卡驅(qū)動(dòng)的時(shí)候也會(huì)出一些問(wèn)題,比如博主在更換為N卡官方驅(qū)動(dòng)的時(shí)候,當(dāng)時(shí)使用的是Ubuntu20.04,不知為何在進(jìn)入bios里關(guān)掉Enable Security Boot的時(shí)候,直接就進(jìn)不去了,導(dǎo)致無(wú)法正常安裝驅(qū)動(dòng),不得已才降版本為Ubuntu18.04,20.04雖然速度快的多,但是bug同樣也多,尤其是snap商店不顯示應(yīng)用的問(wèn)題。
? (3)在安裝完成CUDA之后,還需要安裝cuDNN這一GPU加速庫(kù),否則無(wú)法正常運(yùn)行tensorflow,這些下文都會(huì)講到
? (4)之前我的朋友想讓我買(mǎi)個(gè)AMD的顯卡外接訓(xùn)練數(shù)據(jù),但是A卡并不支持CUDA,雖然可以將CUDA代碼轉(zhuǎn)為OpenCL,但是想要適配A卡的生產(chǎn)環(huán)境極其麻煩,這邊不考慮A卡。
? 本文是關(guān)于如何在win10以及Ubuntu環(huán)境下搭建Anaconda3+CUDA+cuDNN+tensorflow深度學(xué)習(xí)環(huán)境,我會(huì)分步驟分系統(tǒng)慢慢給同學(xué)們講,有人會(huì)問(wèn)為什么不用原生python呢,是因?yàn)閍naconda它香啊,conda和pip的差別我不在這里贅述了,大家可以參考知乎上一篇文章https://www.zhihu.com/question/395145313。博主的anaconda是完全使用命令行的,因?yàn)槲业腘avigator第一次打不開(kāi),后來(lái)也就沒(méi)再用過(guò)。后續(xù)隨著學(xué)習(xí)的深入我應(yīng)該會(huì)出一篇關(guān)于pycharm或vscode(我主要還是用pycharm作為IDE)+docker的tensorflow煉丹爐搭建教程。
這里是我使用的兩臺(tái)筆記本電腦的性能參數(shù)
HP OMEN
DELL Precision 7530
首先進(jìn)入清華鏡像站下載Anaconda3,我這邊使用的是Anaconda3-5.3.1版本
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下載完成后點(diǎn)擊exe執(zhí)行文件安裝,注意不要安裝vscode,我嘗試過(guò)根本安裝不上
與pip相似,如果采用默認(rèn)的channel進(jìn)行下載,在國(guó)內(nèi)是非常慢的,因此需要采用鏡像,在配置anaconda的國(guó)內(nèi)源鏡像前,我這邊先把pip國(guó)內(nèi)鏡像源和使用方法附在下面
鏡像名稱 | 鏡像地址 |
---|---|
阿里云 | http://mirrors.aliyun.com/pypi/simple/ |
豆瓣 | http://pypi.douban.com/simple/ |
清華大學(xué) | https://pypi.tuna.tsinghua.edu.cn/simple/ |
中國(guó)科學(xué)技術(shù)大學(xué) | http://pypi.mirrors.ustc.edu.cn/simple/ |
華中科技大學(xué) | http://pypi.hustunique.com/ |
pip install [module_name] -i [mirror_address]pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
Anaconda鏡像安裝(以清華源為例,win10和Ubuntu步驟相同,因此不再贅述)
conda config --set show_channel_urls yes
這個(gè)命令會(huì)在當(dāng)前目錄下生成配置文件.condarc
win10中用任意文本編輯器打開(kāi)即可
ubuntu中使用命令
sudo gedit .condarc
將以下配置信息復(fù)制粘貼進(jìn).condarc文件保存
channels: - defaultsshow_channel_urls: truedefault_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
如果使用conda install 任意包顯示清華鏡像源的信息則說(shuō)明配置成功
依然是先進(jìn)入清華鏡像站下載Anaconda3-5.3.1
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
這次我們下載的是
由于我們是64位的系統(tǒng),因此下載x86_64的版本
隨后進(jìn)入到下載目錄
cd 下載
輸入命令運(yùn)行安裝文件
bash Anaconda3-5.3.1-Linux-x86_64.sh
博主由于已經(jīng)安裝過(guò)anaconda了,因此將安裝文件換了個(gè)位置,你如果是在谷歌或者火狐瀏覽器上下載的話默認(rèn)是放在"~/下載"這個(gè)目錄里
然后就是看一堆license,copyright聲明了,這些大家一定不要快速敲回車(chē),容易進(jìn)入到下一步了還在摁回車(chē)
隨后是問(wèn)你同不同意這個(gè)license,不同意就無(wú)法安裝,因此我們輸入yes
接下來(lái)是讓你選擇安裝的路徑,默認(rèn)是安裝在當(dāng)前用戶的家目錄下,由于博主已經(jīng)安裝過(guò)了,所以博主將目錄改到我掛載的其中一個(gè)硬盤(pán)上(關(guān)于Ubuntu開(kāi)機(jī)自動(dòng)掛載硬盤(pán)的知識(shí)我也會(huì)在后面介紹)
接下來(lái)默默等待進(jìn)入下一步就行
接下來(lái)它會(huì)提示是否需要initialize Anaconda,這個(gè)其實(shí)是為你的用戶添加環(huán)境變量,由于Ubuntu中沒(méi)有prompt,因此我們使用shell來(lái)進(jìn)行conda命令操作,因此我們輸入yes(由于博主已經(jīng)安裝過(guò)了,不想再動(dòng)環(huán)境變量,就輸了no)
接下來(lái)會(huì)問(wèn)你是否需要安裝VSCode,這里我們選擇no,似乎是因?yàn)锳naconda安裝包VSCode配置的問(wèn)題,我們沒(méi)法成功安裝上VSCode,但是后續(xù)我們可以自行安裝VSCode,這個(gè)不用擔(dān)心
安裝完成
我們來(lái)驗(yàn)證一下,輸入
conda -V
或者
conda --version
若顯示以下信息說(shuō)明安裝成功
參考https://www.tensorflow.org/install/gpu?hl=zh_cn
打開(kāi)Anaconda Prompt
創(chuàng)建虛擬環(huán)境
conda create --name tensorflow python=3.7
激活虛擬環(huán)境
activate tensorflow
使用pip指令
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
打開(kāi)pycharm–>File–>New Project
項(xiàng)目存放位置自定
選擇編譯器Previously configured interpreter
點(diǎn)擊路徑后的省略號(hào)進(jìn)入Add Python Interpreter
選擇Conda Environment
點(diǎn)擊Interpreter路徑后的省略號(hào)進(jìn)入Select Python Interpreter
選擇你Anaconda3目錄下的envs下的tensorflow目錄,并選擇里面的python.exe文件
一直點(diǎn)OK最后點(diǎn)擊create
新建一個(gè)python文件
輸入下面代碼查看是否報(bào)錯(cuò)
import tensorflow
若無(wú)報(bào)錯(cuò)則說(shuō)明tensorflow第三方庫(kù)安裝沒(méi)有問(wèn)題
在剛才的python文件內(nèi)輸入
from tensorflow.python.client import device_libprint(device_lib.list_local_devices())
如果輸出結(jié)果如上圖所示說(shuō)明你當(dāng)前只有CPU設(shè)備可用,如果有輸出GPU設(shè)備的各項(xiàng)屬性則說(shuō)明你之前已經(jīng)搭建過(guò)了CUDA+cuDNN的環(huán)境
接下來(lái)開(kāi)始進(jìn)行GPU環(huán)境搭建
以管理員身份打開(kāi)cmd
輸入nvidia-smi指令
若無(wú)該指令則需要手動(dòng)安裝一下Nvidia Driver,建議直接安裝百度搜索Nvidia GeForce Experience,這個(gè)應(yīng)用是英偉達(dá)官方安裝N卡驅(qū)動(dòng)的神器(windows專(zhuān)屬)
查看Driver Version(驅(qū)動(dòng)版本)和CUDA Version(這個(gè)參數(shù)并非你已安裝的CUDA,而是你驅(qū)動(dòng)可適配的CUDA Toolkit版本)
隨后查看自己先前是否有安裝CUDA Toolkit
如果有以上信息則無(wú)需再安裝CUDA Toolkit
如果沒(méi)有則可以前往https://developer.nvidia.com/cuda-toolkit-archive根據(jù)自己適配的CUDA進(jìn)行安裝
這里博主選擇的是CUDA Toolkit 11.4.0
根據(jù)自己的電腦系統(tǒng)選擇版本下載exe安裝就可以了
安裝完成后重新在控制臺(tái)上輸入nvcc-V查看是否安裝完成
接下來(lái)開(kāi)始cuDNN的安裝
安裝完成后再重新跑代碼則可得GPU的參數(shù)
? 在ubuntu上創(chuàng)建虛擬環(huán)境、安裝tensorflow第三方類(lèi)庫(kù)以及檢驗(yàn)環(huán)境方法是完全一樣的,下面我著重講解一下Ubuntu18.04(CUDA 11.4)GPU支持的搭建,而且注意,不同的Ubuntu方法可能有差別,具體參考官方網(wǎng)站https://www.tensorflow.org/install/gpu?hl=zh_cn
? 還有一點(diǎn)要注意的,以下步驟盡量不要開(kāi)梯子下,博主之前用梯子屢次下載不成功
? 因?yàn)橹鞍惭b過(guò),圖片就先不放了
? 博主曾經(jīng)因?yàn)槭謩?dòng)安裝驅(qū)動(dòng)出現(xiàn)了諸如Security Boot進(jìn)入黑屏、Nouveau驅(qū)動(dòng)禁用后導(dǎo)致電腦可視化進(jìn)不去等問(wèn)題,后來(lái)重裝了三遍最后確定了一個(gè)比較穩(wěn)定的方案。
接下來(lái)等待安裝完成,安裝中途可能會(huì)出現(xiàn)需要你輸入用于secure boot的密碼,reboot重啟電腦,會(huì)進(jìn)入Secure Boot,選擇第二還是第三個(gè)選項(xiàng)(具體不記得了,因?yàn)閎ios模式下截圖我還沒(méi)有學(xué)),進(jìn)入之后命令行輸入nvidia-smi
若有以上信息則安裝成功
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pinsudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pubsudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"sudo apt-get updatewget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.debsudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.debsudo apt-get updatewget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.debsudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.debsudo apt-get update
sudo apt-get install --no-install-recommends cuda-11-4 libcudnn libcudnn8-dev
隨后reboot重啟電腦,命令行輸入nvidia-smi, 以及nvcc -V進(jìn)行驗(yàn)證
如有需要安裝TensorRT加速庫(kù),我也把安裝命令放在了下方
sudo apt-get install -y --no-install-recommends libnvinfer7/ libnvinfer-dev/ libnvinfer-plugin7
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/119690.html
摘要:大家都知道深度學(xué)習(xí)涉及到大量的模型算法,看著那些亂糟糟的公式符號(hào),心中一定是。以最常用的環(huán)境為例。這里強(qiáng)烈推薦版本,因?yàn)樯疃葘W(xué)習(xí)動(dòng)輒幾小時(shí)幾天幾周的運(yùn)行市場(chǎng),加速會(huì)節(jié)省你很多時(shí)間甚至電費(fèi)。常見(jiàn)錯(cuò)誤找不到指定的模塊。 區(qū)別于其他入門(mén)教程的手把手式,本文更強(qiáng)調(diào)因而非果。我之所以加上通用字樣,是因?yàn)樵谀懔私饬诉@個(gè)開(kāi)發(fā)環(huán)境之后,那些很low的錯(cuò)誤你就不會(huì)犯了。 大家都知道深度學(xué)習(xí)涉及到大量的...
摘要:打開(kāi)命令提示符輸入出現(xiàn)下面提示說(shuō)明已經(jīng)安裝成功安裝添加的環(huán)境變量環(huán)境變量中加上的路徑,例如。在命令提示符輸入安裝完成,建立一個(gè)全新的環(huán)境,例如我們想建立一個(gè)叫的開(kāi)發(fā)環(huán)境,路徑為,那么我們輸入安裝完成。 工欲善其事,必先利其器。首先我們需要花費(fèi)一些時(shí)間來(lái)搭建開(kāi)發(fā)環(huán)境。 1.安裝python。python是人工智能開(kāi)發(fā)首選語(yǔ)言。 2.安裝virtualenv。virtualenv可以為一個(gè)...
閱讀 3482·2021-11-18 10:02
閱讀 1612·2021-10-12 10:12
閱讀 2989·2021-10-09 09:53
閱讀 4858·2021-09-09 09:34
閱讀 846·2021-09-06 15:02
閱讀 2776·2021-08-05 10:02
閱讀 3133·2019-08-30 15:44
閱讀 3120·2019-08-28 18:04