安裝軟體與模組
依照作業系統點選,此處點選 Windows、x86_64、10、exe(local),再按Download。
於下載的<cuda_10.1.243_426.00_win10.exe>直接進行安裝,都使用預設值即可。
cuDNN
開啟 cuDNN ,點選DOWNLOAD cuDNN。下載cuDNN必須註冊會員,註冊後登入,點選 I Agree To the Terms of the cuDNN Software License Agreement,因為我們需要下載CUDA對應的版本,欲下載CUDA 10.1 update2 對應的版本,需點選 Archived cuDNN Releases
檔案解壓縮後得到<cuda>資料夾,可在C槽根目錄建立<cudnn>資料夾,然後將<cuda>資料夾複製到<cudnn>資料夾中。
接著將路徑加入環境變數中,進入控制台,點選系統→進階系統設定→環境變數→系統變數項目內找到名稱為Path的變數,按編輯鈕
於編輯環境變數 對話方塊中按新增按鈕,輸入「C:\cudnn\cuda\bin」後按確定鈕,接著再按兩次確定鈕完成環境變數設定。
CMake
開啟 CMake,依作業系統下載對應檔案,因Yolo所需資源龐大,所以我們將資源集中管理,下載後於D槽根目錄建立<darknetYolo>資料夾,並解壓縮至<D:\darknetYolo>資料夾中。
Visual Studio 2019
開啟 Visual Studio 2019,點選Community 2019 ,即可下載。
在安裝時,於工作負載頁面點選 .NET桌面開發、使用C++桌面開發、通用Windows平台 三個項目,按右下角 在下載時安裝 鈕即可安裝。
解壓縮下載的<darknet-master.zip>檔,將解壓縮後的<darknet-master>資料夾更名為<darknet>,複製<darknet>資料夾到<D:\darknetYolo>資料夾中。
msvcr100.dll
開啟 msvcr100-dll ,滑到下方,下載64位元最新版本。 直接下載
解壓縮下載的<msvcr100.zip>檔得到<msvcr100.dll>檔案,複製它並貼到<D:\darknetYolo\darknet>資料夾中。
建立OPENCV_DIR環境變數
進入控制台,點選系統→進階系統設定→環境變數→系統變數下按新增鈕,於新增環境變數對話方塊中 變數名稱輸入「OPENCV_DIR」,變數值輸入「D:\darknetYolo\opencv\build」,然後按確定鈕。
編譯Yolo
Darknet原始程式需經編譯才能使用。 打開位於「D:\darknetYolo\cmake-3.19.8-win64-x64\bin」中的cmake-gui.exe,在Where is the source code 及 where to build the binaries 欄位都輸入darknet的路徑<D:\darknetYolo\darknet,然後按Configure
Specify the genarator for this project 欄位使用預設值 Visual Studio 16 2019 ,Optional platform for generator 欄位由下拉式選單點選x64,按Finish鈕
執行一段時間後,完成按Configure,然後按Generate,最後按Open Project
系統會自動開啟VS2019進行編譯,上方點選 Release及x64,在右方ALL_BUILD按滑鼠右鍵,點選建置。
執行需花費一段時間,完成後在右方INSTALL按滑鼠右鍵,建置。完成編譯。
最後在環境變數中加入三個路徑
進入控制台,點選系統→進階系統設定→環境變數→系統變數項目內找到名稱為Path的變數,按編輯鈕,於編輯環境變數對話方塊中按新增鈕,輸入「%OPENCV_DIR%\x64\vc15\bin」後按確定。
再以同樣方式將「OPENCV_DIR%\x64\vc15\lib」及「D:\darknetYolo\darknet\build\darknet\x64」加入環境變數,最後按兩次確定鈕完環境變數設定。
最後測試,在「D:\darknetYolo\darknet」上方直接打cmd打開命令提示字元。
並執行下列命令
darknet.exe detect cfg\yolov3.cfg yolov3.weights data\dog.jpg
若有出現下列結果就表示Yolo正確安裝了!
※如果有缺失檔案,請將CUDA的部分重新安裝一遍,即可從「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin」內找到缺失的檔案,請將系統顯示所缺失的檔案複製至「D:\darknetYolo\darknet」,再執行一次便會完成。