入門(mén)深度學(xué)習(xí),很多人經(jīng)歷了從入門(mén)到放棄的心酸歷程,且千軍萬(wàn)馬倒在了入門(mén)第一道關(guān)卡:環(huán)境配置問(wèn)題。俗話說(shuō),環(huán)境配不對(duì),學(xué)習(xí)兩行淚。
如果你正在面臨配置環(huán)境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋(píng)果死忠粉,這篇文章都是為你量身定制的。接下來(lái)就依次講下Windows、Mac和Ubuntu的深度學(xué)習(xí)環(huán)境配置問(wèn)題。
一、Windows系統(tǒng)深度學(xué)習(xí)環(huán)境配置
系統(tǒng):Win10 64位操作系統(tǒng)
安裝組合:Anaconda+PyTorch(GPU版)+GTX1060
開(kāi)源貢獻(xiàn):伍天舟,內(nèi)蒙古農(nóng)業(yè)大學(xué)
1.1 打開(kāi)Anaconda Prompt
1、conda create -n pytorch python=3.7.0:創(chuàng)建名為pytorch的虛擬環(huán)境,并為該環(huán)境安裝python=3.7。 2、activate pytorch:激活名為pytorch的環(huán)境
1.2 確定硬件支持的CUDA版本
NVIDIA控制面板-幫助-系統(tǒng)信息-組件
2020年5月19日1631,我更新了顯卡驅(qū)動(dòng),看到我的cuda支持11以內(nèi)的
1.3 確定pytorch版本,torchvision版本
進(jìn)入pytorch官網(wǎng):https://pytorch.org/get-started/locally/
因?yàn)楣俜皆刺耍@里使用清華源下載
1.4 鏡像中下載對(duì)應(yīng)的安裝包
清華鏡像:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
pytorch:
torchvision:
1.5 本地安裝
接著第一步,在pytorch環(huán)境下進(jìn)行安裝,依次輸入如下指令。
然后回到虛擬環(huán)境所在目錄,用conda install anaconda安裝環(huán)境所需的基礎(chǔ)包
1.6 測(cè)試
代碼1:
from future import print_functionimport torchx = torch.rand(5, 3)print(x)輸出類(lèi)似于以下的張量:
代碼2:
import torchtorch.cuda.is_available()輸出:True
如果以上兩段代碼輸出無(wú)異常,表明環(huán)境搭建成功。
1.7 遇到的問(wèn)題
用下面命令創(chuàng)建虛擬環(huán)境報(bào)錯(cuò)
conda create -n py37_torch131 python=3.7
【解決方法】https://blog.csdn.net/weixin_42329133/article/details/102640763
環(huán)境會(huì)保存在Anaconda目錄下的envs文件夾內(nèi)
PackagesNotFoundError: The following packages are not available from current channels
【解決方法】: https://www.cnblogs.com/hellojiaojiao/p/10790273.html
conda下載太慢問(wèn)題
【解決方案】https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
我直呼一聲清華NB!
cuda安裝
cuda歷史版本下載:https://developer.nvidia.com/cuda-toolkit-archive 要看NVIDIA的組件,自己的CUDA支持哪個(gè)版本,我是1060顯卡,所以我下的10.0版本的cuda
pytorch安裝
官網(wǎng)沒(méi)有我的組合,我滿臉問(wèn)號(hào)
這里我直接(別忘了先進(jìn)入剛創(chuàng)建的環(huán)境)
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
jupyter note如何進(jìn)入虛擬環(huán)境
python -m ipykernel install --name 虛擬環(huán)境名
1.打開(kāi)Anaconda Prompt,輸入conda env list 查看現(xiàn)有環(huán)境
2.輸入activate name(name是你想切換的環(huán)境)
3.conda install ipykernel 安裝必要插件
4.python -m ipykernel install --name Name 將環(huán)境添加到Jyputer中(Name是此環(huán)境顯示在Jyputer中的名稱(chēng),可自定義)
刪除內(nèi)核
jupyter kernelspec remove 內(nèi)核名稱(chēng)
報(bào)錯(cuò)[Errono 13]
[Errno 13] Permission denied: ‘/usr/local/share/jupyter’
為此,需要添加–user選項(xiàng),將配置文件生成在本賬戶的家目錄下。
python -m ipykernel install --user --name py27-caffe-notebook
至此,添加kernel完成。查看已有的kernel:
jupyter kernelspec list
刪除已有的kernel
jupyter kernelspec remove kernelname
以上的命令刪除僅僅是配置文件,并沒(méi)有卸載相應(yīng)虛擬環(huán)境的ipykernel,因此若要再次安裝相應(yīng)python虛擬環(huán)境的kernel,只需激活虛擬環(huán)境,然后
python -m ipykernel install --name kernelname
conda安裝一半總失敗
把文件下載到本地,進(jìn)入該文件的目錄,然后用命令
conda install --offline 包名
二、Mac深度學(xué)習(xí)環(huán)境配置
安裝組合:Anaconda+PyTorch(GPU版) 開(kāi)源貢獻(xiàn):馬曾歐,倫敦大學(xué)
2.1 安裝Anaconda
Anaconda 的安裝有兩種方式,這里僅介紹一種最直觀的- macOS graphicalinstall。 https://www.anaconda.com/products/individual里,Anaconda Installers的位置,選擇Python 3.7 下方的“64-Bit Graphical Installer (442)”。下載好
pkg 安裝包后點(diǎn)擊進(jìn)入,按下一步完成安裝即可。默認(rèn)安裝地點(diǎn)為~/opt。想用command line install 的,請(qǐng)自行參考:https://docs.anaconda.com/anaconda/install/mac-os/
2.2 確認(rèn)下載情況
在Mac 的Terminal 里,輸入
python --version
確保安裝的Python 是3.x 版本。在Terminal 輸入
jupyter notebook彈出網(wǎng)頁(yè),即可進(jìn)入notebook。
在網(wǎng)頁(yè)右上角點(diǎn)擊Quit,或返回Terminal,command + c,退出notebook。
2.2.1 常見(jiàn)問(wèn)題
如果電腦中下載了多個(gè)Anaconda,運(yùn)行時(shí)可能出現(xiàn)沖突。在Terminal 中輸入
cd ~
返回home 目錄,輸入
cat .bash_profile
如果只能看到一個(gè)Anaconda 版本就沒(méi)有問(wèn)題。如果有多個(gè)則下載包時(shí)有可能
造成一定的沖突。用vim、nano 或其他文本編輯器把舊版本Anaconda 的
export PATH= ...
刪除。
2.3 虛擬環(huán)境和包的下載
用conda 去創(chuàng)建虛擬環(huán)境和下載對(duì)應(yīng)的包是很簡(jiǎn)單的一件事。
2.3.1 Graphic
點(diǎn)擊Anaconda-Navigator,可以看到自己下載好的應(yīng)用程序,左上角“Applicationson”應(yīng)該指向的是“base (root)”,左邊點(diǎn)擊“Environments”就可以看到自己建立的虛擬環(huán)境和對(duì)應(yīng)的包了。點(diǎn)擊左下角的Create 即可創(chuàng)建一個(gè)新的虛擬環(huán)境。
輸入環(huán)境名稱(chēng)和python 的版本,點(diǎn)擊create 進(jìn)行創(chuàng)建。
之后在Home 頁(yè)面,確保左上角指向的是你剛剛創(chuàng)建的環(huán)境名,在這個(gè)環(huán)境下install jupyter notebook,注意原本裝的notebook 是在base 里的,不可通用。
回到Environments 中,可以看到在此環(huán)境中的所有包,左上方選擇All,然后輸入想要下載的包名
然后選中進(jìn)行下載
2.3.2 Command Line
用command line 完成以上的操作也很簡(jiǎn)潔。這次以Pytorch 為例。在Terminal 中輸入
conda create --name env_name
就可以創(chuàng)建一個(gè)虛擬環(huán)境,叫“env_name”。輸入
conda env list
即可看到創(chuàng)建了的所有虛擬環(huán)境,其中打* 的就是當(dāng)前環(huán)境。輸入
conda activate env_name
進(jìn)入環(huán)境
conda deactivate
退出當(dāng)前虛擬環(huán)境,進(jìn)入base。
2.3.3 下載Pytorch
一般情況下Mac 是不支持CUDA 的。進(jìn)入https://pytorch.org/ 可以看到
pytorch 官網(wǎng)顯示當(dāng)前設(shè)備應(yīng)該用的下載語(yǔ)句。此情況,我的是
conda install pytorch torchvision -c pytorch
復(fù)制下來(lái),粘貼到Terminal 中運(yùn)行就可以開(kāi)始下載了。
下載完成后,在Terminal 輸入
之后import 兩個(gè)剛下載的包,確認(rèn)下載完成
import torchimport torchvision print(torch.__version__)print(torchvision.__version__)如果import 和輸出正常,配置就完成了!輸入
quit()
就ok 了。
2.4 額外情況
國(guó)內(nèi)如果直接用conda 下載,可能會(huì)很慢。可以換下載源進(jìn)行加速。換源方法可參考下列資料中的Linux 部分:https://zhuanlan.zhihu.com/p/87123943。 conda 下載中常會(huì)出現(xiàn)“Solving environment: failed...”的問(wèn)題,如果正常創(chuàng)建虛擬環(huán)境,這位問(wèn)題應(yīng)該就是沒(méi)有問(wèn)題的,如果還發(fā)生,可以再創(chuàng)建一個(gè)虛擬環(huán)境。 conda 的社群很大,基本上遇到的問(wèn)題很有可能有人遇到、有人解答,Google會(huì)是一個(gè)很好的解決辦法。
三、Ubuntu深度學(xué)習(xí)環(huán)境配置
安裝組合:Anaconda+PyTorch(CPU版)或PyTorch(GPU版) 開(kāi)源貢獻(xiàn):陳信達(dá),華北電力大學(xué)3.1 Anacond安裝Anaconda和Python版本是對(duì)應(yīng)的,所以需要選擇安裝對(duì)應(yīng)Python2.7版本的還是Python3.7版本或其他版本的,根據(jù)自己的需要下載合適的安裝包。 下載鏈接:https://www.anaconda.com/download/#linux
點(diǎn)擊下面的64-Bit (x86) Installer (522 MB),下載64位的版本。
下載完后的文件名是:Anaconda3-2020.02-Linux-x86_64.sh。
cd到Anaconda3-2020.02-Linux-x86_64.sh所在的目錄:
執(zhí)行bash Anaconda3-2020.02-Linux-x86_64.sh開(kāi)始安裝:
一直按回車(chē)直到如下界面,然后輸入yes:
這里直接回車(chē)安裝到默認(rèn)路徑,或者在>>>后輸入自定義路徑
等待安裝進(jìn)度條走完,然后出現(xiàn)下面的提示,yes是加入環(huán)境變量,no是不加入環(huán)境變量,這里我們以輸入no為例
接下來(lái)手動(dòng)加入環(huán)境變量,先cd到~,然后編輯.bashrc文件:sudo vim .bashrc
在最下面添加如下幾行(注意.后有空格):
# 區(qū)分anaconda python與系統(tǒng)內(nèi)置pythonalias python3="/usr/bin/python3.5"alias python2="/usr/bin/python2.7" . /home/cxd/anaconda3/etc/profile.d/conda.sh然后按esc + : + wq!保存
輸入source .bashrc來(lái)執(zhí)行剛修改的初始化文檔
下面輸入conda env list來(lái)試試環(huán)境變量是否設(shè)置成功:
試試剛剛設(shè)置的使用內(nèi)置python的命令:python2、python3
如果到這就結(jié)束的話,大家安裝包的時(shí)候肯定會(huì)無(wú)比煎熬~這里需要將anaconda換一下源(加入清華源):
然后我們創(chuàng)建一個(gè)名為pytorch的虛擬環(huán)境,發(fā)現(xiàn)報(bào)了下面的錯(cuò)誤:
原因是我們沒(méi)有清除上次安裝留下來(lái)的源,輸入sudo vim .condarc,修改該文件的內(nèi)容(記得刪除default那行):
然后輸入source .condarc,再次創(chuàng)建虛擬環(huán)境:
3.2 pytorch cpu版本安裝
打開(kāi)pytorch官網(wǎng):https://pytorch.org/
激活剛剛創(chuàng)建的虛擬環(huán)境:conda activate pytorch在安裝之前先添加下面這個(gè)源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch然后輸入下面代碼:
conda install pytorch torchvision cpuonly -c pytorch
等到安裝好后測(cè)試一下是否安裝完成:
import torchprint(torch.__version__)輸出如下則安裝成功:
3.3pytorch-gpu安裝
3.3.1 GPU驅(qū)動(dòng)安裝
檢測(cè)顯卡類(lèi)型
執(zhí)行命令:' ubuntu-drivers devices'
== /sys/devices/pci0000:00/000001.0/000000.0 ==modalias : pci:v000010DEd00001C8Dsv00001028sd0000086Fbc03sc02i00vendor : NVIDIA Corporationmodel : GP107M [GeForce GTX 1050 Mobile]driver : nvidia-driver-390 - distro non-freedriver : nvidia-driver-435 - distro non-freedriver : nvidia-driver-440 - distro non-free recommendeddriver : xserver-xorg-video-nouveau - distro free builtin == /sys/devices/pci0000:00/000014.3 ==modalias : pci:v00008086d0000A370sv00008086sd000042A4bc02sc80i00vendor : Intel Corporationmodel : Wireless-AC 9560 [Jefferson Peak]manual_install: Truedriver : backport-iwlwifi-dkms - distro free
大家可以看到,這里有個(gè)設(shè)備是GTX1050。推薦安裝驅(qū)動(dòng)是440。
安裝驅(qū)動(dòng)
安裝所有推薦驅(qū)動(dòng)
sudo ubuntu-drivers autoinstall
安裝一個(gè)驅(qū)動(dòng)
sudo apt install nvidia-440
3.3.2 安裝cuda
cuda安裝需要對(duì)應(yīng)合適的顯卡驅(qū)動(dòng)。下面是驅(qū)動(dòng)和cuda的版本對(duì)應(yīng)關(guān)系
Table 1. CUDA Toolkit and Compatible Driver VersionsCUDA Toolkit Linux x86_64 Driver Version Windows x86_64 Driver VersionCUDA 10.2.89 >= 440.33 >= 441.22CUDA 10.1 (10.1.105 general release, and updates) >= 418.39 >= 418.96CUDA 10.0.130 >= 410.48 >= 411.31CUDA 9.2 (9.2.148 Update 1) >= 396.37 >= 398.26CUDA 9.2 (9.2.88) >= 396.26 >= 397.44CUDA 9.1 (9.1.85) >= 390.46 >= 391.29CUDA 9.0 (9.0.76) >= 384.81 >= 385.54CUDA 8.0 (8.0.61 GA2) >= 375.26 >= 376.51CUDA 8.0 (8.0.44) >= 367.48 >= 369.30CUDA 7.5 (7.5.16) >= 352.31 >= 353.66CUDA 7.0 (7.0.28) >= 346.46 >= 347.62
cuda下載鏈接:http://suo.im/6dY8rL
Installer Type選擇第一第二個(gè)都可。但是要在獲得cuda文件后先檢測(cè)gcc版本。下面以第一個(gè)runfile(local)安裝方式為例。
安裝gcc
linux一般會(huì)自帶了gcc,我們先檢測(cè)一下自己系統(tǒng)的gcc版本
gcc --version
而cuda的gcc依賴版本在官方文檔的安裝指南上會(huì)給出
如果版本和cuda依賴gcc不對(duì)應(yīng),就安裝cuda需要的版本
sudo apt-get install gcc-7.0sudo apt-get install g++-7.0
安裝完成后需要更換系統(tǒng)gcc版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
選擇需要的版本
sudo update-alternatives --config gcc 選擇 路徑 優(yōu)先級(jí) 狀態(tài)------------------------------------------------------------* 0 /usr/bin/gcc-9 50 自動(dòng)模式 1 /usr/bin/g++-9 50 手動(dòng)模式 2 /usr/bin/gcc-7 50 手動(dòng)模式輸入前面顯示的編號(hào)即可。
安裝cuda
sudo sh cuda_你的版本_linux.run
配置環(huán)境變量
sudo vim ~/.bashrc
將下面的命令復(fù)制進(jìn)去
export PATH=/usr/local/cuda-10.2/bin${PATH$PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH${LD_LIBRARY_PATH}}
檢查是否安裝成功
nvcc -V
3.3.3安裝cudnn
https://developer.nvidia.com/cudnn 選擇對(duì)應(yīng)cuda的版本即可
然后將cudnn解壓后的include和lib64文件夾復(fù)制到cuda中
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include #解壓后的文件夾名字為cuda-10.2 sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h /usr/local/cuda-10.2/lib64/libcudnn*
3.3.4 安裝pytorch-gpu
conda安裝:
# 選擇自己對(duì)應(yīng)的cuda版本conda install pytorch torchvision cudatoolkit=10.2
pip安裝:
pip install torch torchvision -i https://pypi.mirrors.ustc.edu.cn/simple
四、寫(xiě)在最后
所有的深度學(xué)習(xí)環(huán)境安裝指南到這里就結(jié)束了,希望能解決你面臨的環(huán)境配置難題。關(guān)于實(shí)踐項(xiàng)目,可以結(jié)合阿里天池的學(xué)習(xí)賽進(jìn)行動(dòng)手實(shí)踐。 數(shù)據(jù)挖掘?qū)W習(xí)賽(進(jìn)行中,5832人參與) https://tianchi.aliyun.com/competition/entrance/231784/forum cv實(shí)踐學(xué)習(xí)賽(進(jìn)行中,1933參與) https://tianchi.aliyun.com/competition/entrance/531795/forum nlp實(shí)踐學(xué)習(xí)賽(進(jìn)行中,573人參與) https://tianchi.aliyun.com/competition/entrance/531810/forum
責(zé)任編輯:xj
原文標(biāo)題:深度學(xué)習(xí)環(huán)境配置指南!(Windows、Mac、Ubuntu全講解)
文章出處:【微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
Ubuntu
+關(guān)注
關(guān)注
5文章
563瀏覽量
29867 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5507瀏覽量
121272
原文標(biāo)題:深度學(xué)習(xí)環(huán)境配置指南!(Windows、Mac、Ubuntu全講解)
文章出處:【微信號(hào):TheBigData1024,微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論