You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenVINO2021运行2019版本项目无法导入IEPlugin类的适配方案咨询

OpenVINO 2019项目适配2021版本的修改方案

OpenVINO 2020.2及之后版本正式移除了IENetwork、IEPlugin两个类,统一使用IECore类完成插件初始化、模型加载全流程,对应的修改步骤如下:

  • 第一步:调整导入语句
    删除原有from openvino.inference_engine import IENetwork, IEPlugin导入,替换为:
    from openvino.inference_engine import IECore
    
  • 第二步:替换插件初始化逻辑
    删除原有IEPlugin实例化代码,替换为IECore实例初始化:
    # 旧代码:plugin = IEPlugin(device=DEVICE, plugin_dirs=plugin_dir)
    ie = IECore()
    
  • 第三步:替换模型加载逻辑
    原有IENetwork加载模型的逻辑替换为IECore的read_network方法,模型加载到设备的逻辑同步调整:
    # 旧代码:net = IENetwork(model=model_xml, weights=model_bin)
    net = ie.read_network(model=model_xml, weights=model_bin)
    # 旧代码:exec_net = plugin.load(network=net, num_requests=num_requests)
    exec_net = ie.load_network(network=net, device_name=DEVICE, num_requests=num_requests)
    
  • 第四步:调整CPU扩展加载逻辑(如果项目用到了自定义CPU扩展)
    # 旧代码:plugin.add_cpu_extension(cpu_extension_path)
    ie.add_extension(cpu_extension_path, device_name="CPU")
    

完整新旧代码对照示例:

# ========== 2019版本旧代码 ==========
from openvino.inference_engine import IENetwork, IEPlugin

DEVICE = "CPU"
plugin = IEPlugin(device=DEVICE, plugin_dirs=None)
plugin.add_cpu_extension("./libcpu_extension.so")
net = IENetwork(model="person_detection.xml", weights="person_detection.bin")
exec_net = plugin.load(network=net, num_requests=2)
# ========== 2021版本适配后代码 ==========
from openvino.inference_engine import IECore

DEVICE = "CPU"
ie = IECore()
ie.add_extension("./libcpu_extension.so", device_name=DEVICE)
net = ie.read_network(model="person_detection.xml", weights="person_detection.bin")
exec_net = ie.load_network(network=net, device_name=DEVICE, num_requests=2)

除以上修改外,原有推理请求调用、输入输出张量处理的逻辑不需要调整,可直接复用。

内容的提问来源于stack exchange,提问作者Alonso Cangalaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:24:00