如何在 Windows 10(GPU) 環境中安裝 Caffe framework--VS2015+CUDA10.0+Python3.5.6篇

開場白:其實筆者第一次安裝 Caffe 時是在 Ubuntu Python3.7 + CUDA10.0 環境中,因此,第一次在 Windows10 中安裝時就一直想要安裝在 Python3.5 + CUDA10.0 環境中,但一直鬼打牆(半年之久,最後只能屈服於Python2.7+CUDA8.0中...如: https://davistseng.blogspot.com/2020/01/windows-10-caffeconvolutional.html)...終於在最近密集安裝/反安裝中悟出了成功之道...以下分曉~~~ 

動機:想要在 Windows10(GPU=RTX2070) 中安裝 Caffe@Python3.5.6+CUDA10.0+VS2015,要如何實作呢?!

準備環境
1.OS: Windows 10 x64
2.GPU: GeForce RTX 2070 with Max-Q Design
3.Python: 3.5.6 (Anaconda 3 for Windows 64-bit)
4.Git: 2.25.0.windows.1

5.Conda: 4.8.2
6.Microsoft Visual Studio Community 2015: 14.0.25431.01 Update 3


操作步驟
1.安裝 Git: 請至 https://git-scm.com/ 下載並安裝
2.安裝 VS2015(Community) Update 3: 請至 https://my.visualstudio.com/Downloads?q=visual%20studio%202015&wt.mc_id=o~msft~vscom~older-downloads 下載繁中版x64,如下圖:
再執行 ct_visual_studio_community_2015_with_update_3_x86_x64_web_installer_8922967.exe,如下圖: (請點選 Visual C++Windows 10 SDK)
3.安裝 Anaconda3 for Windows: 至 https://repo.anaconda.com/archive/Anaconda3-2019.10-Windows-x86_64.exe 下載並安裝
4.使用 Anaconda Prompt (Anaconda3): 請 以系統管理員身分執行並設定 Python3.5 虛擬環境...指令如下
C:\WINDOWS\system32>conda create -n caffe_gpu_py35 python=3.5 opencv
再進入 Python3.5虛擬環境: 指令如下
(base) C:\WINDOWS\system32>conda activate caffe_gpu_py35
5.複製 Caffe: 依據官網(https://github.com/BVLC/caffe/tree/windows)指示,先建立 D:\Projects 目錄(指令: mkdir Projects),再執行指令如下:
(caffe_gpu_py35) D:\Projects>git clone https://github.com/BVLC/caffe.git
(caffe_gpu_py35) D:\Projects>cd caffe
(caffe_gpu_py35) D:\Projects\caffe>git checkout windows
6.安裝 CUDA Toolkit 10.0: 請至 https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10 下載 [exe (local)] 並安裝
7.安裝 cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0 : 請下載 https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.0_20191031/cudnn-10.0-windows10-x64-v7.6.5.32.zip
並解壓縮至 D:/Projects/caffe/cudnn-10.0-windows10-x64-v7.6.5.32/cuda 目錄
8.修改 scripts\build_win.cmd: 內容詳見...
https://gist.github.com/dvsseed/82816d0bf704395b74ed2e14c8223d23
9.修改 Cuda.cmake: 為了配合新的顯卡 RTX 2070(Notebook),需要先至官網查證Compute Capability(https://developer.nvidia.com/cuda-gpus)及GPU Architecture(https://www.nvidia.com/en-us/geforce/gaming-laptops/20-series/#features),再修改 D:\Projects\caffe\cmake\Cuda.cmake 檔案,如下:
(第 7行)   set(Caffe_known_gpu_archs "30 35 50 60 61 70 75")
(第63行)  set(__archs_names "Fermi" "Kepler" "Maxwell" "Pascal" "Turing" "All" "Manual")
(第98行)  elseif(${CUDA_ARCH_NAME} STREQUAL "Turing")
(第99行)  set(__cuda_arch_bin "70 75")
10.修改 nvcc.hpp: 關閉 CUDA版本檢查,請修改 C:\Users\user\.caffe\dependencies\libraries_v140_x64_py35_1.1.0\libraries\include\boost-1_61\boost\config\compiler\nvcc.hpp 檔案(刪除或備註第22~24行),如下圖
11.安裝 Caffe: 指令如下
(caffe_gpu_py35) D:\Projects\caffe>scripts\build_win.cmd
結果畫面如下: (經過時間 00:11:40.91)
執行檔(D:\Projects\caffe\build\tools\Release)分享於此...
https://drive.google.com/file/d/1uhV-2YCqJZ-N_nQySie_wJZNBruFlO7-/view?usp=sharing
上述執行程式有一個 D:\Projects\caffe\build\examples\cpp_classification\Release\classification.exe 是無法 compile 過的...待解決!!!
8.安裝 Python接口: 指令如下
(caffe_gpu_py35) D:\Projects\caffe>conda config --add channels conda-forge
(caffe_gpu_py35) D:\Projects\caffe>conda config --add channels willyd
(caffe_gpu_py35) D:\Projects\caffe>conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz
再複製 D:\Projects\caffe\python\caffe 目錄內的檔案到 C:\Users\user\Anaconda3\envs\caffe_gpu_py35\Lib\site-packages 目錄中
檔案(D:\Projects\caffe\python\caffe)分享於此...
https://drive.google.com/file/d/1eAaLJoqr_bX4Ni2gyVsD1gQa0-srQU6h/view?usp=sharing
9.執行 Caffe@Python3: 指令如下
(caffe_gpu_py35) D:\Projects\caffe>python
Python 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 16:05:27) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
無錯誤訊息,即為安裝成功!!!
若有其它的錯誤可參見~參攷4. 排除之...
10.執行 Python程式碼(https://gist.github.com/dvsseed/6f9db80edaf3a62c6507aa338959d3fb): 指令如下
(caffe_gpu_py35) D:\Projects\caffe>python imagenet.py
此時會有一個警告,畫面如下:
請修改 C:\Users\user\Anaconda3\envs\caffe_gpu_py35\Lib\site-packages\caffe\io.py296 行 => as_gray,畫面如下:


即可執行順利了~~~


心得
1.筆者寫到此...真的要感謝一群努力+無私+奉獻的人們,沒有大家的貢獻,就沒有現在享受成果的我們!!
2.其實 Caffe 的演化史是: Caffe → Caffe2 → PyTorch(收納),因此,要安裝那一版本或coding...端賴看倌們選擇了~~~


參攷
1.Caffe+VS2015+python3的安装(基于windows), https://www.cnblogs.com/attentle/p/8808878.html
2.FileNotFoundError for font_manager, https://github.com/matplotlib/matplotlib/issues/12439/
3.Caffe-windows + Cuda10 + cudnn7.3.0 + RTX2080 Ti + Python 3.5 + Win10 + VS2017, https://blog.csdn.net/raby_gyl/article/details/84643160
4.Caffe+VS2015+CUDA10+RTX208顯卡, https://www.twblogs.net/a/5d03ab8dbd9eee487be994ef

留言