Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.
5527 Discussions

Expose DLL that depends on Inference Engine to Python using Boost.Python

fabda01
Beginner
279 Views

I have created a DLL for Windows that depends on Inference Engine and now I want to develop a python package that uses this DLL.

To create a python package that can access the functions of this DLL I am using [Boost.Python](https://www.boost.org/doc/libs/1_63_0/libs/python/doc/html/tutorial/index.html).

I have used Boost.Python before to develop python packages that depends on OpenCV and never had any issues.

However, when I create a DLL that depends on the Inference Engine I get runtime error. Specifically for MKLDNNPlugin.dll

The error message is

```

RuntimeError: Failed to create plugin C:\local\Release\MKLDNNPlugin.dll for device CPU
Please, check your environment
Cannot load library 'C:\local\Release\MKLDNNPlugin.dll': 126 from cwd: C:\local\Release

```

I have seen many issues reported with "Cannot load library MKLDNNPlugin.dll"

Among the solutions are:


- run setupvars.bat

- copy MKLDNNPlugin.dll to the same location as my output DLL


Unfortunately, none of these have worked.


I have tried wrapping in a DLL one of the simplest Inference Engine samples available, namely [hello_classification](https://github.com/openvinotoolkit/openvino/blob/master/inference-engine/samples/hello_classificatio...) and uploaded [a minimal, complete and verified example](https://github.com/ddfabbro/boost_python_inference_engine/tree/master) to Github

---

### My environment:

- Visual Studio 2019
- OpenVINO 2020.3 (Installed from precompiled binaries)
- OpenCV 4.3 (Comes with OpenVINO 2020.3)
- Boost 1.71
- Python 3.7

0 Kudos
1 Solution
IntelSupport
Community Manager
223 Views

Hi Davi,

 

Thank you for waiting. This case is possibly due to a linker/environment issue. My advice is please use the 'Deployment Manager' to deploy your application to a target device if that is your ultimate goal. This command-line tool assembles the model, IR files, the application, and associated dependencies into a runtime package for the target device. Please refer to this guide for more information:

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_deployment_manager_tool.html

 

Regards,

Adli

 

View solution in original post

3 Replies
IntelSupport
Community Manager
244 Views

Hi Davi,

 

Thank you for reaching out to us. We are currently investigating this issue and we will come back to you soon.

 

Regards,

Adli


IntelSupport
Community Manager
224 Views

Hi Davi,

 

Thank you for waiting. This case is possibly due to a linker/environment issue. My advice is please use the 'Deployment Manager' to deploy your application to a target device if that is your ultimate goal. This command-line tool assembles the model, IR files, the application, and associated dependencies into a runtime package for the target device. Please refer to this guide for more information:

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_deployment_manager_tool.html

 

Regards,

Adli

 

View solution in original post

IntelSupport
Community Manager
193 Views

Hi Davi,


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


Regards,

Adli


Reply