PINTO0309 / OpenVINO-YoloV3

YoloV3/tiny-YoloV3+RaspberryPi3/Ubuntu LaptopPC+NCS/NCS2+USB Camera+Python+OpenVINO
https://qiita.com/PINTO
Apache License 2.0
537 stars 165 forks source link

I get the ~same FPS by using -numncs 1 and -numncs 2 #49

Open AlexeyAB opened 5 years ago

AlexeyAB commented 5 years ago

I should get 2x more FPS by using -numncs, isn't it?

[Required] Custom device Atom CPU + 2 x MyriadX (VPU) via mini-PCI-express

[Required] Your device's CPU architecture x86_64 Intel Atom E3845

[Required] Ubuntu16.04.6 LTS (OpenVINO 2019.1.144)

[Required] Details of the work you did before the problem occurred:
I get the ~same FPS by using -numncs 1 and -numncs 2.


By running multistick_cpp example from OpenVINO, I get this message: image

python_ncs

PINTO0309 commented 5 years ago

@AlexeyAB Sorry for late reply.

(1) Python script Are you using USB 3.0? Accelerator devices such as NCS2 and Google Edge TPU Accelerator do not perform well with USB 2.0. By the way, if you are using an x86 CPU, using a CPU is much faster than using NCS2.

(2) C++ script This is a modified version of Intel's sample program. Intel's program does not work properly, such as multi stick. I have not performed accurate tuning for C ++ programs.

OpenVINO 2019 R2 was released the other day. Multi-stick API level support and the ability to measure the stick's internal temperature have been added. I will update YoloV3's repository to correspond to the latest API after a while.

AlexeyAB commented 5 years ago

@PINTO0309 Hi,

  1. I use 2 x Myriad X chips via mini-PCI-express. But I get the same ~10 FPS with 1 x Myriad X and with 2 x Myriad X chips. I use your python scipt with -numncs 1 and -numncs 2.

  2. I modified C++ OpenVINO example by myself and got for yolov3.cfg:

    • sync - with 1 x Myriad X: 2.3 FPS
    • async - with 1 x Myriad X: 4.2 FPS
    • async - with 2 x Myriad X: 6.3 FPS - I think it can be improved up to 8 FPS.
PINTO0309 commented 5 years ago

Hi, @AlexeyAB

My Python program is waiting for 7 seconds to initialize one NCS2. In other words, the first NCS2 takes effect after 7 seconds and the second NCS2 takes effect after 14 seconds. Is the performance the same even if you wait 14 seconds?

Hmmm... I do not know where the bottleneck is...

AlexeyAB commented 5 years ago

@PINTO0309 Yes, even if I wait 60 seconds, FPS is the same.

EscVM commented 5 years ago

I have the same problem too :(