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

RuntimeError: Failed to create plugin libHeteroPlugin.dylib for device HETERO

Tahar-berrabah__Samy
1,958 Views

 

Hi Team,

I have tried to launch an inference with both device "HETERO:CPU,MYRIAD" on my mac and I get this error:


Traceback (most recent call last):
File "main.py", line 166, in <module>
main(args)
File "main.py", line 29, in main
face_Detect = FaceDetection(args.face_detection, args.device)
File "/Users/samo/Documents/1_formation/1_intel_edge_course/project_5/Computer-Pointer-Controller/src/facedetection.py", line 12, in __init__
self.model_loaded = Model(MODEL_PATH, DEVICE)
File "/Users/samo/Documents/1_formation/1_intel_edge_course/project_5/Computer-Pointer-Controller/src/model.py", line 34, in __init__
self.layers_map = self.ie.query_network(network=self.net, device_name=device_name)
File "ie_api.pyx", line 373, in openvino.inference_engine.ie_api.IECore.query_network
RuntimeError: Failed to create plugin libHeteroPlugin.dylib for device HETERO
Please, check your environment
Cannot load library 'libHeteroPlugin.dylib': dlopen(libHeteroPlugin.dylib, 1): image not found

 

I have installed the last openvino toolkit version and when I use CPU only it is working well. 

Note: My NCS2 is working on demo provided with the installation.

Any idea?

Thanks for your help,

Samy

0 Kudos
1 Solution
11 Replies
Iffa_Intel
Moderator
1,949 Views

Greetings,


Did you temporarily set the environment variable or did you permanently set it?


Temporary:-- you need to run this command each time you open a new terminal to run Openvino models

source /opt/intel/openvino/bin/setupvars.sh



permanent

vi ~/.bash_profile

source /opt/intel/openvino/bin/setupvars.sh


each time you run your terminal you should be able to see

[setupvars.sh] OpenVINO environment initialized.


If you did not see this means that setupvars is not initialized and you need to do so

This probably the cause.


Sincerely,

Iffa


0 Kudos
Tahar-berrabah__Samy
1,940 Views

Hi Iffa,

It is set permanently I am using zsh. I have no problem running with the device "CPU" I will however check if the lib is on the right folder but I doubt that is the issue here.

Thanks for your reply.

Samy

0 Kudos
Iffa_Intel
Moderator
1,932 Views

Any chance that you tried to put CPU as highest priority and see whether it works? "HETERO:MYRIAD,CPU" --basically if its fails to run the network on Myriad it will automatically use CPU, if this works means that something is wrong with the Myriad device.


Please note that some topology is not friendly to heterogeneous execution on some devices or cannot be executed in such mode at all.

Please also note that different devices use different datatypes, such as CPU uses FP32 while GPU can use FP32 and FP16.

Some conversion are done automatically , for instance, execution on GPU with CPU as a fallback, you need to use only FP16 IR, the waste will be automatically converted from FP16 to FP32 by the Hetero plugin.


You can refer here for supported network: https://docs.openvinotoolkit.org/latest/openvino_docs_IE_DG_supported_plugins_MYRIAD.html


For the error that you got:

Please, check your environment

Cannot load library 'libHeteroPlugin.dylib': dlopen(libHeteroPlugin.dylib, 1): image not found


Seems like the program is unable to locate the Plugin library. You should be good to go if you had able to run after  Installation Guide for Linux* tho.


Plus, here is some info regarding Hetero Plugin: https://docs.openvinotoolkit.org/latest/openvino_docs_IE_DG_supported_plugins_HETERO.html#introducing_heterogeneous_plugin



Sincerely,

Iffa


0 Kudos
Tahar-berrabah__Samy
1,919 Views

Thanks Iffa,

I should have mention that I am on OSX, after a look at within the folder I can confirm that I don't have the lib libHeteroPlugin.dylib mention on the error.

Do I have to build it from the cpp file provided with the installation or is it possible that lib is a part of a paid side of the product as it is for FPGA in my understanding?

Thanks for your help,

Samy

0 Kudos
Iffa_Intel
Moderator
1,907 Views

Hi,


Please help to ensure that you install the NCS plugin for OSX according to this resource:

https://docs.openvinotoolkit.org/2020.4/openvino_docs_install_guides_installing_openvino_macos.html#additional-NCS2-steps


We have different plugin packages for different OS.


Make sure that you installed it correctly according to this official documentation and try to rerun the Hetero command.


Sincerely,

Iffa


0 Kudos
Tahar-berrabah__Samy
1,869 Views

Hi Iffa,

It's seems that the installation is right maybe it is an issue with the mac package?

 

 Samy

Max_L_Intel
Moderator
1,850 Views

Hi @Tahar-berrabah__Samy 

We were able to replicate this behavior observed on macOS, so seems like libHeteroPlugin.dylib just wasn't built. We investigate this and get back to you once there's any news.

Thanks.
Best regards, Max.

Max_L_Intel
Moderator
1,804 Views

Hi @Tahar-berrabah__Samy 

That's the problem confirmed with Intel Distribution of OpenVINO. You can test now the master branch release of OpenVINO from https://github.com/openvinotoolkit/openvino/tree/master
And this change is also planned to be included into next public OpenVINO release. 

Thanks for reporting this to OpenVINO community.

0 Kudos
Tahar-berrabah__Samy
1,799 Views

Hi Max,

Thanks for your followup, do I have to compile something from the master repo or I can use it as it is?

Samy

0 Kudos
Max_L_Intel
Moderator
1,765 Views

This thread will no longer be monitored since we have provided our suggestions. If you need any additional information from Intel, please submit a new question.

0 Kudos
Reply