---
# System prepended metadata

title: 'Day-03: YOLO v4 起手式'

---

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)
