# Tiger Laker Optimized YOLO System
- Table of Content
[ToC]
## System Configurations
#### OS : Ubuntu 20.04.2 LTS
#### Kernel : Linux openvino-TGL 5.8.0-44-generic #50~20.04.1-Ubuntu SMP Wed Feb 10 21:07:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
#### CPU : 11th Gen Intel Celeron and Core i3/i5/i7
#### GPU : 00:02.0 VGA compatible controller: Intel Corporation Device 9a49/9a78 (rev 01)
## Environment Setup
#### Download and Install Ubuntu 20.04.2.0 LTS
URL to donwload Ubuntu 20.04.2.0 LTS ISO image:
https://ubuntu.com/download/desktop/thank-you?version=20.04.2.0&architecture=amd64
Steps of installing Ubuntu 20.04:
https://phoenixnap.com/kb/install-ubuntu-20-04
#### Install docker
```
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
## Need to logout or reboot to run docker as non-root user
docker run hello-world
```
If you see error messages below, reboot your system.
```
openvino@openvino-TGL:~$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
```
## Run benchmark_app
```
docker pull chungyehwangai/openvino:yolov4
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v ~/Downloads:/mnt --device /dev/dri:/dev/dri --rm chungyehwangai/openvino:yolov4
cd
source /opt/intel/openvino/bin/setupvars.sh
python3 /opt/intel/openvino/deployment_tools/tools/benchmark_tool/benchmark_app.py -m /home/openvino/openvino_models/public/yolo-v4-tf/FP16-INT8/yolo-v4-tf.xml -d GPU -shape [1,3,192,384] -api sync
```
### Below are logs on i7-1185G7E. Latency of [1,3,192,384] is 13.09 ms.
```
penvino@0a8b35204e11:~$ python3 /opt/intel/openvino/deployment_tools/tools/benchmark_tool/benchmark_app.py -m /home/openvino/openvino_models/public/yolo-v4-tf/FP16-INT8/yolo-v4-tf.xml -d GPU -shape [1,3,192,384] -api sync
/opt/intel/openvino/python/python3.8/openvino/tools/benchmark/utils/utils.py:220: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if arg_name is not '':
/opt/intel/openvino/python/python3.8/openvino/tools/benchmark/utils/utils.py:226: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if arg_name is not '':
[Step 1/11] Parsing and validating input arguments
/opt/intel/openvino/python/python3.8/openvino/tools/benchmark/main.py:29: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn(" -nstreams default value is determined automatically for a device. "
[ WARNING ] -nstreams default value is determined automatically for a device. Although the automatic selection usually provides a reasonable performance, but it still may be non-optimal for some cases, for more information look at README.
[Step 2/11] Loading Inference Engine
[ INFO ] InferenceEngine:
API version............. 2.1.2021.2.0-1877-176bdf51370-releases/2021/2
[ INFO ] Device info
GPU
clDNNPlugin............. version 2.1
Build................... 2021.2.0-1877-176bdf51370-releases/2021/2
[Step 3/11] Setting device configuration
[Step 4/11] Reading network files
[ INFO ] Read network took 310.83 ms
[Step 5/11] Resizing network to match image sizes and given batch
[ INFO ] Reshaping network: 'image_input': [1, 3, 192, 384]
[ INFO ] Reshape network took 233.23 ms
[ INFO ] Network batch size: 1
[Step 6/11] Configuring input of the model
[Step 7/11] Loading the model to the device
[ INFO ] Load network took 2019.19 ms
[Step 8/11] Setting optimal runtime parameters
[Step 9/11] Creating infer requests and filling input blobs with images
[ INFO ] Network input 'image_input' precision U8, dimensions (NCHW): 1 3 192 384
/opt/intel/openvino/python/python3.8/openvino/tools/benchmark/utils/inputs_filling.py:71: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn("No input files were given: all inputs will be filled with random values!")
[ WARNING ] No input files were given: all inputs will be filled with random values!
[ INFO ] Infer Request 0 filling
[ INFO ] Fill input 'image_input' with random values (image is expected)
[Step 10/11] Measuring performance (Start inference syncronously, limits: 60000 ms duration)
[ INFO ] First inference took 26.74 ms
[Step 11/11] Dumping statistics report
Count: 4568 iterations
Duration: 60001.69 ms
Latency: 13.09 ms
Throughput: 76.41 FPS
```