openvino配置与使用

首先在下面链接下载openvino,看到网上大家都是使用源码进行编译,现在有了使用pip安装

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit-download.html

pip install openvino (推理时候的安装包)
pip install openvino-dev (转换模型,优化、测试时候的安装包)

目前只尝试转换pb模型,当使用框架是tf的时候,如果按照–input_shape = [xxx]或者(xxx),会报错,可以直接使用–b 1即可。

 mo --input_model xxx/Angle-model.pb --output_dir xxx/ --framework tf --b 1

注意本次实验仅仅是为了测试推理速度,如果要保证精度那需要在转换模型时候设置–scale、 --scale_values,、–mean_values。当mean value和scale value被同时指定时,数据先减去mean value,再除以scale value。

下面是推理代码,net.inputs['input_1']这里不知道节点可以在netron查看node名字。

from openvino.inference_engine import IECore
import numpy as np
import cv2
import time
 
ie = IECore()
# model config
model_xml = 'Angle-model.xml'
model_bin = 'Angle-model.bin'

# Read IR
print("Creating Inference Engine...")
print("Loading network files:\n\t{}\n\t{}".format(model_xml, model_bin))
net = ie.read_network(model=model_xml, weights=model_bin)

# Check params in IR
# 检查IR模型是否是支持CPU硬件的
supported_layers = ie.query_network(net, "CPU")
n, c, h, w = net.inputs['input_1'].shape
print("input_blob NxCxHxW is {}x{}x{}x{}".format(n, c, h, w)) # 1x3x224x224
exec_net = ie.load_network(network=net, device_name='CPU')
img_path = 'xxx.png'
ori_img  = cv2.imread(img_path)
ori_img = cv2.resize(ori_img,(224,224))
img = cv2.cvtColor(ori_img, cv2.COLOR_BGR2RGB)
img = np.array(img, dtype=np.float32)
img = img.transpose((2, 0, 1))  # Change data layout from HWC to CHW
img = img[np.newaxis, :, :, :]  # 整成1CHW
print('size',img.shape) # 1x3x224x224
res = exec_net.infer(inputs={'input_1': img})
print(res)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值