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

Primitive descriptor was not found for node conv1

zhang__xinye
Beginner
470 Views
I have been trying to integrate OpenVINO into my own project which will purely run on CPU. I have tested the following code by adding a new cmake target into the inference_engine/samples directory.
 
 
namespace openVinoIE = ::InferenceEngine;

openVinoIE::InferencePlugin plugin = openVinoIE::PluginDispatcher(
        {""}).getPluginByDevice("CPU");

openVinoIE::CNNNetReader networkReader;
networkReader.ReadNetwork(_struct_file);
networkReader.ReadWeights(_param_file);
_network = networkReader.getNetwork();


for (auto input:_network.getInputsInfo()) {
    input.second->setPrecision(openVinoIE::Precision::FP32);
    input.second->setLayout(openVinoIE::Layout::NCHW);
    _input_names.emplace_back(input.first);
    _all_names.emplace_back(input.first);
}
for (auto output:_network.getOutputsInfo()){
    output.second->setPrecision(openVinoIE::Precision::FP32);
    _output_names.emplace_back(output.first);
    _all_names.emplace_back(output.first);
}

_network.setBatchSize(_batch_size);

_network.setTargetDevice(openVinoIE::TargetDevice::eCPU);

//    openVinoIE::QueryNetworkResult res;
//    plugin.QueryNetwork(_network, res); //EXCEPTION
//    if (openVinoIE::StatusCode::OK != res.rc) {      
//                WEARDEX_LOG_ERROR("Network " << _struct_file << " contains OpenVINO unsupported layers.");
//                WEARDEX_LOG_ERROR(res.resp.msg);
//        return false;
//    }

_executable_network = plugin.LoadNetwork(_network, {});  //EXCEPTION
 
 
However, it will raise an exception in the new project, when calling plugin.QueryNetwork(_network, res), or plugin.LoadNetwork(_network, {}). The network is fairly simple, there is no customized layer. and conv1 is the first layer of the network.
 
terminate called after throwing an instance of 'InferenceEngine::details::InferenceEngineException'
  what():  Primitive descriptor was not found for node conv1.
/teamcity/work/scoring_engine_build/releases/cvsdk-2018-r2/src/mkldnn_plugin/mkldnn_node.h:313

 

There is a possiible cause I could think of. To recude the size of the build project, only the following linked library has been added to target_link_libraries in CMakeList.txt. 
inference_engine/lib/ubuntu_16.04/intel64/libcpu_extension_avx2.so 
inference_engine/lib/ubuntu_16.04/intel64/libcpu_extension_sse4.so 
inference_engine/lib/ubuntu_16.04/intel64/libinference_engine.so 
inference_engine/lib/ubuntu_16.04/intel64/libMKLDNNPlugin.so 
inference_engine/external/mkltiny_lnx/lib/libiomp5.so 
inference_engine/external/mkltiny_lnx/lib/libmkl_tiny.so
And, INCLUDE_DIR contains inference_engine/include.
 
Environment:
Ubuntu 16.04.5 LTS
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
gcc version 5.4.0
cmake version 3.11.0
0 Kudos
3 Replies
Mark_L_Intel1
Moderator
470 Views

Hi XinYe,

Sorry for the late response since we are busying on multiple issues at the same time. Did you already solve this problem?

I want to reproduce what you did in order to solve the problem, could you tell me if you add a new file or add the code into the existing file?

Mark

0 Kudos
zhang__xinye
Beginner
470 Views

Hi Liu, Mark (Intel),

I have had a deep inspection into the problem. It seems that when ever we link the application  with OpenVINO and caffe. So, I think it might be namespace collision or something similar, between caffe, its dependencies and OpenVINO.

Thank you.

Xinye

0 Kudos
Mark_L_Intel1
Moderator
470 Views

Thanks Xinye,

Do you want to report a bug or get a clue for work around?

I need the steps to reproduce the issue in both cases. Could you send me the description or clues to reproduce the problem?

Mark

0 Kudos
Reply