Win10+RTX2080環境搭建:tensorflow、mxnet、pytorch、caffe
目錄
- 準備工作
- 設置conda國內鏡像源
- conda 深度學習環境
- tensorflow、mxnet、pytorch安裝
- tensorflow
- mxnet
- pytorch
- Caffe安裝
- 配置文件修改
- 編譯時常見錯誤
- 參考
GPU為RTX2080,系統為更新到最新版本的Win10。
準備工作
- 安裝
VS2015
,到官網地址older-download下載安裝 - 安裝
Matlab
,筆者安裝的是Matlab2017b - 安裝
Anaconda3-4.4.0-Windows-x86_64.exe
(到anaconda archive下載),筆者曾下載並安裝了最新版的Anaconda3-2018.12-Windows-x86_64.exe,在使用conda安裝包時發生SSLError錯誤,據github issue所說是最新版win10和最新版anaconda有衝突,4.4版本沒有這個問題,4.4對應的
python版本為3.6
- 安裝
CUDA 10.0
,到cuda-toolkit-archive根據自己的平台下載安裝,安裝好後可以看到環境變數多了CUDA_PATH、CUDA_PATH_10_0等,以及path中也多了bin和libnvvp路徑 - 安裝
CUDNN 7.4
,到cudnn-archive根據CUDA版本下載安裝,下載下來後將其中的所有文件(bin、include、lib文件夾)拷貝到cuda的目錄,合併對應的文件夾
設置conda國內鏡像源
為conda設置國內鏡像源,默認國外的鏡像源會比較慢。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
這時目錄"C:Users用戶名"下的.condarc文件內容變為
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
如果有default可以刪除。
conda 深度學習環境
# 創建conda環境
conda create -n py36DL python=3.6
# 更新pip
pip install --upgrade pip
# 若報錯
easy_install pip
# 激活環境
activate py36DL
# 安裝ipython,後面用於測試庫是否安裝成功
conda install ipython
tensorflow、mxnet、pytorch安裝
注意:下面的所有安裝都是在激活了的py36DL環境中進行的。
tensorflow
筆者通過官網、通過conda、通過豆瓣鏡像源安裝tensorflow在import時都會失敗,報「ImportError: DLL load failed: 找不到指定的模塊」的錯誤,最終成功的安裝方式如下:
到fo40225/tensorflow-windows-wheel找到對應的版本下載whl,筆者下載的是tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl的avx2版本(有兩個壓縮包,解壓出whl文件),如果安裝不成功的話可以試試sse2版本,這裡神奇的地方是該whl文件應該是在cuda100cudnn73avx2下編譯的,但是我的環境是cuda100和cudnn74,竟然也是可以安裝成功的,筆者久經磨難,喜極而泣。
下載下來後通過pip安裝
# 切換到whl目錄
pip install tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl
# 進入ipython驗證
import tensorflow as tf
tf.VERSION
# "1.12.0"
mxnet
mxnet安裝比較簡單,這裡直接通過豆瓣鏡像源用pip安裝。
pip install -i https://pypi.doubanio.com/simple/ mxnet-cu100
# 進入ipython驗證
import mxnet
mxnet.__version__
# "1.3.1"
mxnet的官網顯示支持到cu92,實際已經有了cu100版本。
pytorch
pytorch的安裝也很簡單,在官網,選擇pip、Python3.6、CUDA10.0,顯示
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-win_amd64.whl
pip3 install torchvision
這裡先把鏈接https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-win_amd64.whl拷貝到IDM下載whl文件,然後離線安裝
# 切換到whl路徑
pip install torch-1.0.0-cp36-cp36m-win_amd64.whl
pip install torchvision
#進入ipython驗證
import torch
torch.__version
# "1.0.0"
Caffe安裝
筆者使用的是happynear/caffe-windows版本的caffe,下載解壓,同時下載第三方庫拷貝到項目windows/thirdparty/文件夾,Copy .windowsCommonSettings.props.example to .windowsCommonSettings.props,打開Caffe.sln,根據github上的README修改配置文件.windowsCommonSettings.props,編譯成功後再參考README配置python和matlab,注意使用時需要將thirdparty/bin目錄添加到path環境變數,否則運行時會報錯。
修改環境變數後以管理員運行CMD,運行
echo %path%
立即生效,不用重啟系統。
配置文件修改
主要修改項如下:
UseCuDNN
:trueCudaVersion
:10.0PythonSupport
:trueMatlabSupport
:trueCudaArchitecture
:compute_50,sm_50;compute_52,sm_52;compute_60,sm_60;compute_61,sm_61;compute_70,sm_70;compute_75,sm_75;CuDnnPath
:C:Program FilesNVIDIA GPU Computing ToolkitCUDNN-100。需替換為你的cudnn7.4的路徑PythonDir
:D:Anaconda3envspy36DL。替換為你的python路徑MatlabDir
:D:Program FilesMATLABR2017b。替換為你的matlab路徑
根據wiki,RTX2080的Compute capability (version)為7.5,目前只有CUDA10.0支持7.5,因此CudaArchitecture中如果加入compute_75,sm_75;的話需要CUDA為10.0,否則會報錯。如果裝的是CUDA9.2,在不加compute_75,sm_75;的情況下也是可以編譯成功的。
編譯時常見錯誤
將警告視為錯誤
- 在報錯的工程上右鍵,選擇 屬性→C/C++→將警告視為錯誤,改為否,生成項目。要是某個項目文件報這個錯的話,也可以在相應文件上右鍵,進行同樣操作。
The Windows SDK version 10.0.10586.0 was not found
- 在報錯的工程上右鍵,選擇 重定SDK版本目標,選擇 目標平台版本(默認就一項 8.1),點擊確定,生成項目。
參考
- CUDA wiki
- happynear/caffe-windows
好文要頂 關注我 收藏該文
作者:Mr-Lee
原文:https://www.cnblogs.com/shine-lee/p/10180601.html
打開今日頭條,查看更多圖片
※Spring Cloud中的Eureka服務註冊與發現詳解
※關於SQL Server 資料庫歸檔的一些思考和改進
TAG:程序員小新人學習 |