OpenVINOを使ってWSLの速さを確認する

#目的
OpenVINOを使ってWSLの速さを確認する。

あまり良い速度検証の素材が思いついていないので、OpenVINOのデモを使いました。


#検証環境

パソコン：ideapad 320S
CPU: Intel Core i3-7100U CPU @ 2.40GHz

OS：　Windows10 バージョン1803(OSビルド 17134.829)
WSL(Windows Subsystem for Linux):上記のWindows10のとおり
Linux:Ubuntu 18.04LTS
表示:VcXsrv バージョン1.20.1.4
opencv:3.4.0
　　※3.4.1とかではないです。


利用したソフト:openvino_2019.1.087　※1
 デモソフト名：demo_security_barrier_camera
※1 WSL側は、あとから入れたので、openvino_2019.1.144



<img width="564" alt="wsl_car.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342207/9cb47655-5802-6995-99cd-9eacdb9ba125.png">

#検証結果
inference(推論）の部分のみ。5回実行し、各々のfpsを示している。

--demo_security_barrier_camera
Windows　　23.7　　50.0　　56.3　　54.6　　37.5fps
WSL　　20.8　　51.0　　55.2　　53.6　　54.5fps

以下は、以前のWindows上の測定結果。
CPU FP32   　　22.6, 　17.3fps


実行時出力抜粋
Windows

```
[ INFO ] InferenceEngine:
        API version ............ 1.6
        Build .................. 22443
[ INFO ] Parsing input parameters
[ INFO ] Capturing video streams from the video files or loading images
[ INFO ] Files were added: 1
[ INFO ]     C:\Program Files (x86)\IntelSWTools\openvino_2019.1.087\deployment_tools\demo\\car_1.bmp
[ INFO ] Number of input image files: 1
[ INFO ] Number of input video files: 0
[ INFO ] Number of input channels: 1
[ INFO ] Display resolution: 1920x1080
[ INFO ] Loading plugin CPU

        API version ............ 1.6
        Build .................. 22443
        Description ....... MKLDNNPlugin
[ INFO ] Loading network files for VehicleDetection
[ INFO ] Batch size is forced to  1
[ INFO ] Checking Vehicle Detection inputs
[ INFO ] Checking Vehicle Detection outputs
[ INFO ] Loading Vehicle Detection model to the CPU plugin
[ INFO ] Loading network files for VehicleAttribs
[ INFO ] Batch size is forced to 1 for Vehicle Attribs
[ INFO ] Checking VehicleAttribs inputs
[ INFO ] Checking Vehicle Attribs outputs
[ INFO ] Loading Vehicle Attribs model to the CPU plugin
[ INFO ] Loading network files for Licence Plate Recognition (LPR)
[ INFO ] Batch size is forced to  1 for LPR Network
[ INFO ] Checking LPR Network inputs
[ INFO ] Checking LPR Network outputs
[ INFO ] Loading LPR model to the CPU plugin
[ INFO ] Start inference




```


WSL

```
[ INFO ] InferenceEngine:
        API version ............ 1.6
        Build .................. custom_releases/2019/R1.1_28dfbfdd28954c4dfd2f94403dd8dfc1f411038b
[ INFO ] Parsing input parameters
[ INFO ] Capturing video streams from the video files or loading images
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino_2019.1.144/deployment_tools/demo/car_1.bmp
[ INFO ] Number of input image files: 1
[ INFO ] Number of input video files: 0
[ INFO ] Number of input channels: 1
[ INFO ] Display resolution: 1920x1080
[ INFO ] Loading plugin CPU

        API version ............ 1.6
        Build .................. 23780
        Description ....... MKLDNNPlugin
[ INFO ] Loading network files for VehicleDetection
[ INFO ] Batch size is forced to  1
[ INFO ] Checking Vehicle Detection inputs
[ INFO ] Checking Vehicle Detection outputs
[ INFO ] Loading Vehicle Detection model to the CPU plugin
[ INFO ] Loading network files for VehicleAttribs
[ INFO ] Batch size is forced to 1 for Vehicle Attribs
[ INFO ] Checking VehicleAttribs inputs
[ INFO ] Checking Vehicle Attribs outputs
[ INFO ] Loading Vehicle Attribs model to the CPU plugin
[ INFO ] Loading network files for Licence Plate Recognition (LPR)
[ INFO ] Batch size is forced to  1 for LPR Network
[ INFO ] Checking LPR Network inputs
[ INFO ] Checking LPR Network outputs
[ INFO ] Loading LPR model to the CPU plugin
[ INFO ] Start inference

```

#検証結果(追加）
もう一度、計ってみました。

inference(推論）の部分のみ。各々のfpsを示している。
[]内の数字は、測定を実施した順番。
（13回目までは、ノートPCの電源は未接続。）

--demo_security_barrier_camera
Windows　　
20.66[1], 16.72[5], 26.71[6], 55.72[7], 48.82[8], 54.99[9],
21.86[17], 53.89[18], 54.09[19]fps

WSL　　
2.88[2], 12.06[3], 19.34[4], 18.39[10], 17.68[11], 22.25[12], 18.32[13],
21.54[14], 20.52[15], 18.94[16]fps

⇒　今日は、WSLは、全く、やる気がないようです。
　　（いい加減な検証で、すみません。）

#補足（動作させるための作業メモ）
以下のサイトに記載のコマンドのとおり実施した。
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html#install-openvino

ビルドで以下のようなエラーが（大量に）出た

```
/opt/intel/openvino_2019.1.144/opencv/lib/libopencv_highgui.so.4.1.0: undefined reference to `gtk_main_iteration'
```

以下の対応を実施した（いろいろな対処を試したので、下記が正しい対処かは不明）

```
$ sudo apt-get install libgtk-3-dev
```



#まとめ
Windowsでの実行と、WSL上での実行で、速度差はない感じ。
そもそも、測定毎の大きなバラツキのほうが問題。
もう少し、まともな測定方法を考える必要あり。
以前の結果に比して、極端に速くなっている理由不明。
ということで、
***問題しかない***、まとめです。


#今後
コメントなどあればお願いします。:candy:

#関連
[OpenVINOを使ってCPU内蔵GPUの速さを確認する](https://qiita.com/enoughspacefor/items/c0eb9314d65fdc1d9fd9)