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