Day-03: YOLO v4 起手式 === ## 楔子 > 要就從最新的開始! 這樣才潮~ > --- 筆者幹話集 ![](https://i.imgur.com/epQU7DX.png) > [source](https://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux) :::danger **警告!** 如果你是 Linux 愛好者。請 **光速離開**! 以下操作,將引起您的不適。 :P ::: ## DO IT FIRST ! - 安裝 WSL v2 感謝微軟讓我們可以在熟悉的環境(windows)中使用不熟悉的指令(linux)!您可以參考[文章](https://docs.microsoft.com/zh-tw/windows/wsl/install-win10)完整這個步驟。當您完成時,在命令列輸入wsl.原則上會出現linux的shell bash.如下圖 ![](https://i.imgur.com/ZajCwgY.png) - 安裝相關工具 ``` sudo apt-get update sudo apt-get install git sudo apt-get install g++ sudo apt-get install vim ``` >上述 **git** 是為了下載原始碼,**g++** 是為了編譯程式 **vim** 單純只是筆者習慣的文字編輯器。 - 建立工作資料夾 ``` cd Documents mkdir wsl cd wsl ``` 依序執行上述指令,如下圖: ![](https://i.imgur.com/Nd9hLJN.png) 其實只是為了在我的文件中取對應的工作目錄。 - 下載原始碼 ``` git clone https://github.com/AlexeyAB/darknet.git ``` ![](https://i.imgur.com/Q0XLAf0.png) 當下在完成,可以從對應的資料夾位置找到原始碼。請注意WSL模式下的路徑位置喔~ - 編譯 ``` cd darknet ls make ``` 在編譯前,筆者建議使用 ls 指令先確認程式是否存在,再進行編譯。 ![](https://i.imgur.com/u6AnwaC.png) - 確認結果 ``` ls ``` 藉由 ls 指令,確認最終結果 **darknet** 有被建置出來。 ![](https://i.imgur.com/XcUFTNu.png) - 下載權重檔 ``` wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights ``` 使用 **wget** 指令下載作者預先訓練好的權重檔。 ![](https://i.imgur.com/Bgf8ZuN.png) - 推論(執行程式) ``` ./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg ``` 事實上,這行指令參考自原作者[網站](https://pjreddie.com/darknet/yolo/)的說明。只是我將所有v3的位置換成v4。可見現任維護者AlexeyAB的用心。儘量維持一致性的程式碼。 ![](https://i.imgur.com/UrLTPKz.png) 由上可以得到我們成功再WSL下編譯且執行yolov4的辨識結果。 第一次使用WSL的讀者,請多多比較資料夾的關聯,就可以知道如何和平的在Windows中使用Linux ## 小結 相信很多讀者比較少使用WSL,對於這樣的操作非常陌生,所以今天的進度就先到這裡就好。 藉由今天的實作,我們實現了在windows下輕易執行yolov4的過程。 傳統方法是藉由cmake等較為繁瑣的開發環境。如果有興趣的讀者可以參考[這篇](https://github.com/AlexeyAB/yolo-windows)。 ## 參考文章 - [介紹好用工具:Cmder ( 具有 Linux 溫度的 Windows 命令提示字元工具 )](https://blog.miniasp.com/post/2015/09/27/Useful-tool-Cmder) 本文同步發表於 [Blog](http://blog.wustudio.net/articles/ironman/2020-yolov4-startup/) [HackMD](https://hackmd.io/@wupojung/ironman-2020-yolov4-startup)