Movidiusの推論エンジンは、ここのvpu
推論エンジンは、ここ
using namespace InferenceEngine; using namespace vpu::MyriadPlugin; ..... 途中略 INFERENCE_PLUGIN_API(StatusCode) CreatePluginEngine(IInferencePlugin *&plugin, ResponseDesc *resp) noexcept { try { plugin = make_ie_compatible_plugin({1, 6, CI_BUILD_NUMBER, "myriadPlugin"}, std::make_shared<Engine>()); return OK; } catch (std::exception &ex) { return DescriptionBuffer(GENERAL_ERROR, resp) << ex.what(); } }
の InferenceEngine::vpu::MyraidPlugin::CreatePluginEngine の中で、myriadPluginを呼び出している感じ。
myraidPlugin は、ここで見つけられるようになっていますね。
case TargetDevice::eMYRIAD: #ifdef ENABLE_MYRIAD pluginVec.push_back("myriadPlugin"); #endif break;
同じところには、myraidPlugin の他に
・MKLDNNPlugin ・OpenVXPluginCVE ・OpenVXPlugin ・clDNNPlugin ・dliaPlugin" ・GNAPlugin ・HeteroPluginがあるけど、
・MKLDNNPlugin ・clDNNPlugin ・GNAPlugin ・HeteroPluginは実装があるみたいだけど、
・OpenVXPluginCVE ・OpenVXPlugin ・dliaPlugin"この3つは公開されていません。
OpenVX はIntelの独自実装のようなので公開はできないでしょうね。
dliaPlugin は、下記のように FPGA ようですね。
case TargetDevice::eFPGA: #ifdef ENABLE_DLIA pluginVec.push_back("dliaPlugin"); #endif #ifdef ENABLE_OPENVX pluginVec.push_back("OpenVXPlugin"); #endif break;なので、ここも公開されませんね。