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.
6447 Discussions

Hetero plugin gives dynamic to static conversion error for mobilenetv2 squeeze layer

hgujh
Beginner
793 Views

Hello,

While running mobilenetV2 using hetero plugin I receive dynamic to static conversion error. Is there a way I can resolve this issue any help would be appreciated.

 

Code :

ie = IECore()

net = ie.read_network(model="")

exec_net = ie.load_network(network=net, device = "HETERO:GPU,MYRIAD")

 

Intel openvino version :- 2021.4

Board :- Odroid H2

CPU :- intel celeron j4105 

GPU :- Intel UHD Graphics 600

 

Model :- keras pretrained model -> onnx -> Model optimizer -> IR files

If any files are required let me know.

 

Thanks,

Amarjeet

0 Kudos
4 Replies
Peh_Intel
Moderator
763 Views

Hi hgujh,


Thanks for reaching out to us.


For your information, the heterogeneous plugin runs the network layers on multiple devices according to specified priority. The first device will be the first priority device, if a specific layer is not supported for this device, the hetero plug-in will fall back into the second priority device and so on.

 

It is recommend to load the model with HETERO:MYRIAD,GPU as GPU plugin supports more layers compared to MYRIAD plugin. Please also note that some of the topologies are not friendly to heterogeneous execution on some devices or cannot be executed in such mode at all.

 

Besides, please also try to load your model with CPU, GPU and MYRIAD individually to check whether your model is supported by all the devices. Furthermore, you can also have a try to load the native ONNX model with all the devices directly without converting into Intermediate Representation (IR).

 

 

Regards,

Peh


hgujh
Beginner
740 Views

Thanks for the reply Peh_Intel,

I was able to solve the issue by updating openvino version to latest version from 2021.4 to 2022.1

 

Wanted to know is there any way to set affinity of heavier layer to specific device and not always run on high priority device {CPU,GPU,MYRIAD} ? Because "HETERO:MYRIAD,GPU" gives more priority to MYRIAD and since MYRIAD was able to run all layers it doesnt run any layers on GPU.

 

I went through the heterogenous execution but it is still not clear how to do the above task.

 https://docs.openvino.ai/latest/openvino_docs_OV_UG_Hetero_execution.html 

 

Thanks & Regards,

Amarjeet

0 Kudos
Peh_Intel
Moderator
695 Views

Hi Amarjeet,

 

Thanks for informing us that your initial error has been solved after upgrading to the latest OpenVINO™ version.

 

Regarding setting hardware affinity to operations, you can refer to sample codes in the section of “Using Manual and Automatic Modes in Combination”.

 

By the way, you might interest with MULTI plugin, which automatically assigns inference requests to both GPU and MYRIAD, resulting in improved throughput.

 

 

Regards,

Peh


0 Kudos
Peh_Intel
Moderator
674 Views

Hi Amarjeet,


This thread will no longer be monitored since the initial issue has been resolved. If you need any additional information from Intel, please submit a new question. 



Regards,

Peh


0 Kudos
Reply