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

Importing a network for vpu results in segfault.

milani__peter1
New Contributor I
317 Views

So running a file that has previously been exported using the code below. During the constructor, I check to see if there is a model with the name (provided by a param file) with .vpu extension. This is a previously exported model which occurs if that a model with that extension is not available.

If it is available, then I import that network (of type ExecutableNetwork).

 

 

ROS_INFO("Using VPU");
std::string exportName = binFilename + ".vpu";
//Check if the .vpu has previously been exported
std::ifstream f(exportName.c_str());
if (!f.good())
{
    ROS_INFO("Loading Network for VPU");
    _net = ie.LoadNetwork(network, "MYRIAD" );
    _net.Export(exportName);
}
else
{
    ROS_INFO("Importing already compile Network for VPU");
    _net=ie.ImportNetwork(exportName, "MYRIAD");
}
ROS_INFO("MYRIAD established");

 

However when I go to use that _net object for Async Inference, I get a segfault.

If that network is simply loaded (which takes some time) it works fine.

0 Kudos
5 Replies
Zulkifli_Intel
Moderator
270 Views

Hello Peter Milani,

 

Can you share with us the model that you are using? Does it work on CPU (by replacing "MYRIAD" with "CPU" for LoadNetwork function)?

Segfault might happen due to various reasons. Please capture the error you encountered.

 

Regards,

Zulkifli

 

milani__peter1
New Contributor I
264 Views

The model I am using is a Efficientdetd3-640 model (though I have also done this with a Efficientdetd0) model that has been fine-tuned on a custom dataset.

When I use LoadNetwork targeting MYRIAD or CPU is have no problems using the network. You'll see after the LoadNetwork() function I then export the network to aid in faster loading)

However I cannot use using the importNetwork() call as that executable network that is returned segfaults on the first inference call.

 

I'm happy to share my .vpu file its compressed and attached below. It is optimised with FP16 flag.

cheers

Zulkifli_Intel
Moderator
248 Views

Hello Peter Milani,


We will look into this case and get back to you soon.


Regards,

Zulkifli


Zulkifli_Intel
Moderator
210 Views

Hello Peter Milani,

 

Thank you for your patience. We found out that the segmentation fault is probably because of running out of memory issues. As you can see, when the network is directly loaded, it takes more time to load the network. Therefore, when you try to import network on the loaded network, it results in a segmentation fault.

 

The EfficientDet model is not officially supported by MYRIAD.

 

Regards,

Zulkifli

 

Zulkifli_Intel
Moderator
181 Views

Hello Peter,


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


Regards,

Zulkifli


Reply