深度學(xué)習(xí)環(huán)境配置指南?。╓indows、Mac、Ubuntu全講解)
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
入門深度學(xué)習(xí),很多人經(jīng)歷了從入門到放棄的心酸歷程,且千軍萬(wàn)馬倒在了入門第一道關(guān)卡:環(huán)境配置問(wèn)題。俗話說(shuō),環(huán)境配不對(duì),學(xué)習(xí)兩行淚。
如果你正在面臨配置環(huán)境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋果死忠粉,這篇文章都是為你量身定制的。接下來(lái)就依次講下Windows、Mac和Ubuntu的深度學(xué)習(xí)環(huán)境配置問(wèn)題。
安裝組合:Anaconda+PyTorch(GPU版)+GTX1060
1.1 打開(kāi)Anaconda Prompt

1.2 確定硬件支持的CUDA版本
NVIDIA控制面板-幫助-系統(tǒng)信息-組件
1.3 確定pytorch版本,torchvision版本
進(jìn)入pytorch官網(wǎng):https://pytorch.org/get-started/locally/
因?yàn)楣俜皆刺?,這里使用清華源下載
1.4 鏡像中下載對(duì)應(yīng)的安裝包
清華鏡像:
pytorch:
torchvision:
1.5 本地安裝


然后回到虛擬環(huán)境所在目錄,用conda install anaconda安裝環(huán)境所需的基礎(chǔ)包

1.6 測(cè)試
代碼1:
from future import print_functionimport torchx = torch.rand(5, 3)print(x)

import torchtorch.cuda.is_available()
如果以上兩段代碼輸出無(wú)異常,表明環(huán)境搭建成功。
1.7 遇到的問(wèn)題
用下面命令創(chuàng)建虛擬環(huán)境報(bào)錯(cuò)
conda create -n py37_torch131 python=3.7
環(huán)境會(huì)保存在Anaconda目錄下的envs文件夾內(nèi)
PackagesNotFoundError: The following packages are not available from current channels

conda下載太慢問(wèn)題
我直呼一聲清華NB!
cuda安裝
pytorch安裝
conda install pytorch torchvision cudatoolkit=10.0 -c pytorchjupyter 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中的名稱,可自定義)
刪除內(nèi)核
jupyter kernelspec remove 內(nèi)核名稱
[Errno 13] Permission denied: ‘/usr/local/share/jupyter’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 kernelnameconda安裝一半總失敗
把文件下載到本地,進(jìn)入該文件的目錄,然后用命令
conda install --offline 包名2.1 安裝Anaconda

2.2 確認(rèn)下載情況

在Mac 的Terminal 里,輸入
python --version確保安裝的Python 是3.x 版本。在Terminal 輸入
jupyter 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


之后在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

conda install pytorch torchvision -c pytorch復(fù)制下來(lái),粘貼到Terminal 中運(yùn)行就可以開(kāi)始下載了。
下載完成后,在Terminal 輸入
python3之后import 兩個(gè)剛下載的包,確認(rèn)下載完成
import torchimport torchvisionprint(torch.__version__)print(torchvision.__version__)

quit()就ok 了。
2.4 額外情況
點(diǎn)擊下面的64-Bit (x86) Installer (522 MB),下載64位的版本。
下載完后的文件名是:Anaconda3-2020.02-Linux-x86_64.sh。
cd到Anaconda3-2020.02-Linux-x86_64.sh所在的目錄:





接下來(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

輸入source .bashrc來(lái)執(zhí)行剛修改的初始化文檔







3.2 pytorch cpu版本安裝
打開(kāi)pytorch官網(wǎng):https://pytorch.org/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorchconda install pytorch torchvision cpuonly -c pytorch
import torchprint(torch.__version__)

3.3 pytorch-gpu安裝
3.3.1 GPU驅(qū)動(dòng)安裝
檢測(cè)顯卡類型
執(zhí)行命令:' ubuntu-drivers devices'
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.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/0000:00:14.3 ==modalias : pci:v00008086d0000A370sv00008086sd000042A4bc02sc80i00vendor : Intel Corporationmodel : Wireless-AC 9560 [Jefferson Peak]manual_install: True
大家可以看到,這里有個(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-4403.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ì)給出


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)模式
安裝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 -V3.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.2sudo 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好消息!
小白學(xué)視覺(jué)知識(shí)星球
開(kāi)始面向外開(kāi)放啦??????
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。 下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。 下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。 交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

