Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6404 Discussions

I want to use 2 x Myriad X (NCS2) chips in one application by using OpenVINO

ABoch5
Beginner
482 Views

I want to create application that uses 2 x MyriadX chips simultaneously in one application, for alternating frames.

 

I use existing C++ sample "object_detection_demo_yolov3_async" of Yolov3 object detection.

I changed this code to use 2 Networks instead of 1.

And pressed TAB to use existing Async mode therefore, the application alternately starts two InferRequest::Ptr's belonging to different networks and waits for them.

I tried both frozen_yolov3.pb and frozen_yolov3_tiny.pb, but it doesn't increase FPS.

 

I changed this code: https://github.com/opencv/open_model_zoo/blob/e458c1f0407d0303e36be4828bb963a67d6d050a/demos/object_detection_demo_yolov3_async/main.cpp#L287-L293

 

ExecutableNetwork network = plugin.LoadNetwork(netReader.getNetwork(), {});   // -----------------------------------------------------------------------------------------------------   // --------------------------- 5. Creating infer request ----------------------------------------------- InferRequest::Ptr async_infer_request_next = network.CreateInferRequestPtr(); InferRequest::Ptr async_infer_request_curr = network.CreateInferRequestPtr();

 

to this code:

 

ExecutableNetwork network = plugin.LoadNetwork(netReader.getNetwork(), {}); ExecutableNetwork network2 = plugin.LoadNetwork(netReader.getNetwork(), {});   // -----------------------------------------------------------------------------------------------------   // --------------------------- 5. Creating infer request ----------------------------------------------- InferRequest::Ptr async_infer_request_next = network2.CreateInferRequestPtr(); InferRequest::Ptr async_infer_request_curr = network.CreateInferRequestPtr();

Then run application object_detection_demo_yolov3_async and press TAB for async execution.

But it did not speed up the execution.

 

How can I see usage (in %) for each VPU?

 

I actually have 2 x MyriadX chips:

python_ncs.jpg

0 Kudos
1 Reply
Aroop_B_Intel
Employee
269 Views

Hi ABoch5,

 

Take a look at the Multiple NCS Devices section in the following article for a high-level explanation on using multiple NCS devices within your application.

 

https://software.intel.com/en-us/articles/transitioning-from-intel-movidius-neural-compute-sdk-to-openvino-toolkit

 

 

 

There is also a discussion on this subject on the computer vision forum. Pinto shared his GitHub where he is running inference with multiple NCS to improve performance of his YOLO V3 model.  

 

https://software.intel.com/en-us/forums/computer-vision/topic/801648

 

https://github.com/PINTO0309/OpenVINO-YoloV3

 

 

 

The OpenVINO toolkit does not have the capability to display the VPU usage.

 

Regards,

Aroop

0 Kudos
Reply