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

Importing a network for vpu results in segfault.

milani__peter1
New Contributor I
736 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
689 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

 

0 Kudos
milani__peter1
New Contributor I
683 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

0 Kudos
Zulkifli_Intel
Moderator
667 Views

Hello Peter Milani,


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


Regards,

Zulkifli


0 Kudos
Zulkifli_Intel
Moderator
629 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

 

0 Kudos
Zulkifli_Intel
Moderator
600 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


0 Kudos
Reply