非常詳細:Windows 10+Anaconda3+CUDA10.1,安裝dlib19.17開發環境成功手記
參考:https://www.cnblogs.com/supersayajin/p/8446685.html
(1)本機基礎環境
作業系統:Windows 10
GPU:NVIDIA GeForce GTX 1060
(2)安裝Anaconda3-2019.03-Windows-x86_64(自帶python3.6.7)
下載地址:https://www.anaconda.com/distribution/
選擇下載:Windows 64-bit Graphical Installer
安裝檔案:Anaconda3-2019.03-Windows-x86_64.exe
安裝時,勾選下面兩個選項:
√□Add Anaconda to the system PATH environment variable
√□Register Anaconda as the system Python
Anaconda3被安裝到以下目錄:C:\Users\HP\Anaconda3
(3)安裝Visual Studio Enterprise+update3中文版
下載地址:http://download.microsoft.com
安裝檔案:vs2015.3.ent_chs.iso
安裝時,可按預設選項安裝(此處有坑,見後文8.3說明)
(4)安裝cmake3.10
下載地址:www.cmake.org
選擇下載:Windows Win64-x64 installer
安裝檔案:cmake-3.10.0-rc1-win64-x64.msi
安裝時,勾選新增系統環境變數(重啟機器後生效)
(5)安裝cuda10.1
下載地址:https://developer.nvidia.com/cuda_downloads
安裝檔案:cuda_10.1.168_425.25_win10.exe
安裝時,按預設選項安裝
(6)安裝cudnn10.1
下載地址:https://developer.nvidia.com/rdp/cudnn-download
需要註冊nvidia的賬號,然後下載cudnn:
安裝檔案:cudnn-10.1-windows10-x64-v7.6.0.64.zip
先將安裝檔案解壓縮,然後把cudnn目錄下的bin、include以及lib目錄中的檔案拷貝到相應的cuda目錄中的bin、include和lib目錄中去(如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1),因為cuda會需要cudnn中的庫檔案以及標頭檔案。
(7)安裝dlib19.17
下載地址:dlib.net
安裝檔案:dlib-19.17.zip
安裝時,先解壓縮到本地磁碟,然後使用cmake編譯。
(8)編譯C++ dlib19.17
Windows重啟(使系統環境變數生效)之後,開啟cmake,然後點選“configure”按鈕選擇相應的vs版本,對於vs2015 update3應該選擇“visual studio 14 2015 win64”選項。
編譯成功,如下圖所示:
這樣,用於C++的dlib庫檔案就編譯完成了。
★可能遇到的問題:
(8.1)編譯時出現“error in configuration process project files may be invalid”
解決方法:
以系管理員身份執行cmake:
在原始碼(Where is the source code)框中隨便選擇一個含CMakeLists.txt的正確目錄(如:F:/AI/dlib-19.17/dlib),在輸出目錄(Where to build the binaries)框中填寫一個不存在的目錄(如:C:/Program Files/CMake/bin/000),再點選設定(Configure),這時會提示你是否建立目錄,點"是" ,這時會彈出一個語言選擇視窗,在下拉框中選中所用的語言種類,即“visual studio 14 2015 win64”,這樣就可以了。
建議:改正完錯誤後,刪除新建的臨時目錄(如:C:/Program Files/CMake/bin/000)及其他臨時檔案,仍然使用系統預設的輸出目錄(如:C:/Program Files/CMake/bin)。
注意:使用cmake編譯的時候如果你更改了配置,那麼需要在cmake中點選file中的delete cache,然後重新configure。
(8.2)Failed to run MSBuild command: MSBuild.exe
解決方法:
把MSBuild.exe的路徑加入環境變數(如:C:\Program Files (x86)\MSBuild\14.0\Bin),並重啟計算機。
(8.3)Error: your C compiler:"CMAKE_C_COMPILER-NOTFOUND" was not found. Please setCMAKE_C_COMPILER to a valid compiler path or name.
Error:your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name
解決方法:
重新執行:vs2015.3.ent_chs.iso中的“vs_enterprise.exe”,選擇“修改”:
選擇安裝Windows 10 SDK(10.0.14393),可以將其他版本的Windows 10 SDK的勾選去掉。Visual Studio 2015 update3最高支援14393版本的SDK。
(9)編譯Python dlib19.17
開啟Anaconda Prompt(或者:Windows 10的cmd),進入dlib19.17的安裝目錄(如:F:\AI\dlib-19.17),執行:
python setup.py install
若沒有錯誤(即:顯示0個錯誤),則編譯成功,然後就可以愉快地使用dlib19.17進行Python程式設計了。
★可能遇到的問題:
(9.1)編譯時報錯,檢視”CMakeError.log”,顯示:“...fatal error C1083: 無法開啟包括檔案: “pthread.h”: No such file or directory..”
參考:https://blog.csdn.net/cry1994/article/details/79115394
(9.1.1)下載地址:https://www.mirrorservice.org/sites/sourceware.org/pub/pthreads-win32/
下載最新版本pthreads-w32-2-9-1-release.zip解壓得到三個資料夾
pthreads.2:裡面包含了pthreads 的原始碼;
Pre-built.2:裡面包含了pthreads for win32 的標頭檔案和已編譯好的庫檔案;
QueueUserAPCEx:裡面是一個alert的driver,編譯需要DDK 。Windows Device Driver Kit (NTDDK.h) 需要額外單獨安裝。
(9.1.2)若無特殊需求,直接引用Pre-built.2裡面的檔案即可。
使用方法:
Pre-built.2下有三個資料夾
dll 動態連結庫
include標頭檔案
lib 靜態連結庫
把標頭檔案和靜態庫放到IDE的安裝目錄,動態庫放到系統目錄,這樣VS的工程無需其他配置就可以直接使用pthread相關API,雖然取巧但省事。
配置標頭檔案:
把include資料夾下的標頭檔案拷貝到vs2015安裝目錄下:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
配置靜態連結庫:
把lib資料夾下的靜態庫檔案拷貝到vs2015安裝目錄下:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
配置動態連結庫:
Pre-built.2\dll\x64下的檔案拷貝到C:\Windows\SysWOW64目錄下
Pre-built.2\dll\x86下的檔案拷貝到C:\Windows\System32目錄下
(完)