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

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


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

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

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

conda下載太慢問題
我直呼一聲清華NB!
cuda安裝
pytorch安裝
conda install pytorch torchvision cudatoolkit=10.0 -c pytorchjupyter note如何進入虛擬環(huán)境
python -m ipykernel install --name 虛擬環(huán)境名
1.打開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以上的命令刪除僅僅是配置文件,并沒有卸載相應(yīng)虛擬環(huán)境的ipykernel,因此若要再次安裝相應(yīng)python虛擬環(huán)境的kernel,只需激活虛擬環(huán)境,然后
python -m ipykernel install --name kernelnameconda安裝一半總失敗
把文件下載到本地,進入該文件的目錄,然后用命令
conda install --offline 包名2.1 安裝Anaconda

2.2 確認下載情況

在Mac 的Terminal 里,輸入
python --version確保安裝的Python 是3.x 版本。在Terminal 輸入
jupyter notebook

2.2.1 常見問題
如果電腦中下載了多個Anaconda,運行時可能出現(xiàn)沖突。在Terminal 中輸入
cd ~返回home 目錄,輸入
cat .bash_profile如果只能看到一個Anaconda 版本就沒有問題。如果有多個則下載包時有可能
造成一定的沖突。用vim、nano 或其他文本編輯器把舊版本Anaconda 的
export PATH= ...刪除。
2.3 虛擬環(huán)境和包的下載
用conda 去創(chuàng)建虛擬環(huán)境和下載對應(yīng)的包是很簡單的一件事。
2.3.1 Graphic


之后在Home 頁面,確保左上角指向的是你剛剛創(chuàng)建的環(huán)境名,在這個環(huán)境下install jupyter notebook,注意原本裝的notebook 是在base 里的,不可通用。
回到Environments 中,可以看到在此環(huán)境中的所有包,左上方選擇All,然后輸入想要下載的包名

然后選中進行下載

2.3.2 Command Line
用command line 完成以上的操作也很簡潔。這次以Pytorch 為例。在Terminal 中輸入
conda create --name env_name就可以創(chuàng)建一個虛擬環(huán)境,叫“env_name”。輸入
conda env list即可看到創(chuàng)建了的所有虛擬環(huán)境,其中打* 的就是當(dāng)前環(huán)境。輸入
conda activate env_name進入環(huán)境
conda deactivate退出當(dāng)前虛擬環(huán)境,進入base。
2.3.3 下載Pytorch

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

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





接下來手動加入環(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來執(zhí)行剛修改的初始化文檔







3.2 pytorch cpu版本安裝
打開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ū)動安裝
檢測顯卡類型
執(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
大家可以看到,這里有個設(shè)備是GTX1050。推薦安裝驅(qū)動是440。
安裝驅(qū)動
安裝所有推薦驅(qū)動
sudo ubuntu-drivers autoinstall安裝一個驅(qū)動
sudo apt install nvidia-4403.3.2 安裝cuda
cuda安裝需要對應(yīng)合適的顯卡驅(qū)動。下面是驅(qū)動和cuda的版本對應(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選擇第一第二個都可。但是要在獲得cuda文件后先檢測gcc版本。下面以第一個runfile(local)安裝方式為例。
安裝gcc
linux一般會自帶了gcc,我們先檢測一下自己系統(tǒng)的gcc版本
gcc --version而cuda的gcc依賴版本在官方文檔的安裝指南上會給出


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)先級 狀態(tài)------------------------------------------------------------* 0 /usr/bin/gcc-9 50 自動模式1 /usr/bin/g++-9 50 手動模式2 /usr/bin/gcc-7 50 手動模式
安裝cuda
sudo sh cuda_你的版本_linux.run配置環(huán)境變量
sudo vim ~/.bashrc將下面的命令復(fù)制進去
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 選擇對應(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安裝:
# 選擇自己對應(yīng)的cuda版本conda install pytorch torchvision cudatoolkit=10.2
pip安裝:
pip install torch torchvision -i https://pypi.mirrors.ustc.edu.cn/simple好消息!
小白學(xué)視覺知識星球
開始面向外開放啦??????
下載1:OpenCV-Contrib擴展模塊中文版教程 在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。 下載2:Python視覺實戰(zhàn)項目52講 在「小白學(xué)視覺」公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。 下載3:OpenCV實戰(zhàn)項目20講 在「小白學(xué)視覺」公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。 交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

