# 產生YOLOv4 Docker映像檔過程記錄
###### tags: `紀錄` `YOLOv4`
:::info
:boy: **作者:** neverleave0916
:mailbox_closed: **聯絡資訊:<neverleave0916@gmail.com>**
:point_right: **<font color="#B24B42">修改日期:** 2020/7/12 03:52</font>
:::
>- YOLOv4 in Ubuntu:video_game:
> - 軟體版本:
| Software | Version |
|:--------------|:--------|
| Ubunut | 18.04 |
| Docker | 19.03.8 |
| Nividia Driver| 440.82 |
| CUDA | 10.2 |
## 1.啟動Docker
```console=+
docker run --gpus all --ipc=host -it -v /mnt/MIL/neverleave0916/code:/workspace -p 1000:8888 -p 5901:5901 -p 8090:8090 --name=yolo_v4 nvcr.io/nvidia/pytorch:20.03-py3
```
1000 : jupyter
5901 : 桌面環境
```console=+
chmod 777 /tmp
apt-get update
```
1. Install VNC Server (遠端桌面環境將採用xfce):
```console=+
sudo apt-get install vnc4server xfce4 xfce4-goodies
enter
88
1
6
73
等待
6
```
2. 建立VNC server的配置檔與user密碼:
```console=+
$ vncpasswd
$ vim ~/.vnc/xstartup
```
```=1
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
```
```console=+
$ chmod 755 ~/.vnc/xstartup
```
```console=+
vncserver -geometry 1440x900
```
## 2.安裝YOLO環境需求
* CMake >= 3.12
* CUDA 10.0 (For GPU)
* OpenCV >= 2.4 (For CPU and GPU)
* cuDNN >= 7.0 for CUDA 10.0 (for GPU)
* OpenMP (for CPU)
* Other Dependencies: make, git, g++
### 1.CMake >= 3.8 (for modern CUDA support)(CPU and GPU)
* 安裝CMake
```console=
apt install cmake
```
* 如要查看版本
```console=
cmake --version
output:cmake version 3.14.0
```
### 2. CUDA 10.0 (For GPU)
已安裝
### 3.cuDNN
已安裝
### 4.OpenCV >= 2.4 (For CPU and GPU)
* 安裝OpenCV(使用apt)
```console=
apt install libopencv-dev python3-opencv
```
* 如要查看版本
```console=
opencv_version
output:3.2.0
```
### 5. 其他需求
* 安裝
```console=
apt install make git g++
```
* 如要查看版本
```console=
make --version
output:
GNU Make 4.1
Built for x86_64-pc-linux-gnu
```
```console=
git --version
output:git version 2.17.1
```
```console=
g++ --version
output:g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
```
```console=
docker run --gpus all --ipc=host -it -v /mnt/MIL/neverleave0916/code:/workspace -p 1000:8888 -p 5901:5901 -p 8090:8090 --name=yolo_v4 neverleave0916/yolo_v4
vncserver -geometry 1440x900
```
---
<br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br>