OpenVINO改版之后会出现opencv等插件需要自己重新下载还有就是intel文档有点小乱小多等的问题,但是大体上使用官方文档是没啥问题的
安装
先上官方文档
(1)安装Dev Tools
虽然但是我还是觉得有很多细节
其实主要就是多了下面这三句:
①创建并激活了一个openvino_env的虚拟环境
②更新了pip
python -m venv openvino_env
openvino_env\Scripts\activate
python -m pip install --upgrade pip
(2)runtime安装
大体步骤根据Install and Configure Intel® Distribution of OpenVINO™ toolkit for Windows 10
注意一下最好是选择Offline Installer(别问为什么,问就是pip转战过来的)
; 权限问题
在安装opencv的openvino时候出现了权限问题,升级到-user也没用
报错大概是:在此系统上禁止运行脚本…
此时要用管理员权限 修改策略
; 使用
官方给出的指导文档还是很详细的。
在python中使用
具体的API看这篇!!!
我的直观感觉是常规的api最好还是得熟悉
- 初始化
from openvino.runtime import Core
ie = Core()
- 可使用设备
ie.get_property(device_name=device, name="FULL_DEVICE_NAME")
- 读入模型(IR和onnx分别读入后缀名的模型)
读入的都得是和模型结构有关的:
IR:xml文件
onnx:onnx文件
onnx_model_path = "model/segmentation.onnx"
model_onnx = ie.read_model(model=onnx_model_path)
compiled_model_onnx = ie.compile_model(model=model_onnx, device_name="CPU")
两者在读入模型上的的区别仅在于 模型后缀名
- 获取对于 只有一个输入层或者输出层的层名称
input_layer = next(iter(model.inputs))
从而可以获得该层的element_type,shape信息
- 使用模型进行推理
维度修改:
import numpy as np
input_data = np.expand_dims(np.transpose(resized_image, (2, 0, 1)), 0).astype(np.float32)
input_data.shape
- onnx模型转换
模型转化的完整文档可供查询
(1)将 PyTorch model 转换成 ONNX
因为export运行模型,所以我们需要提供一个输入张量x。只要是正确的类型和大小,其中的值就可以是随机的。
if not onnx_path.exists():
dummy_input = torch.randn(1, 3, IMAGE_HEIGHT, IMAGE_WIDTH)
torch.onnx.export(
model,
dummy_input,
onnx_path,
opset_version=11,
do_constant_folding=False,
)
(2)使用 模型优化器将onnx模型转换成 IR模型
//todo:模型优化器的详细文档还没研究!
step1:构建模型优化器的指令
mo_command = f"""mo
--input_model "{onnx_path}"
--input_shape "[1,3, {IMAGE_HEIGHT}, {IMAGE_WIDTH}]"
--mean_values="[123.675, 116.28 , 103.53]"
--scale_values="[58.395, 57.12 , 57.375]"
--data_type FP16
--output_dir "{model_path.parent}"
"""
mo_command = " ".join(mo_command.split())
step2:转化
if not ir_path.exists():
print("Exporting ONNX model to IR... This may take a few minutes.")
mo_result = %sx $mo_command
print("\n".join(mo_result))
else:
print(f"IR model {ir_path} already exists.")
- 模型推理之前的预处理操作
其他了解应该就可以了吧哈哈哈哈哈哈哈哈哈哈!!!!
openvino模型基准测试工具
有一个操作是我以前没注意到的:
new_path2 = example_path.with_suffix('.txt')
with_suffix会返回一个 新的路径
Original: https://blog.csdn.net/weixin_50862344/article/details/126423343
Author: weixin_50862344
Title: win10 OpenVINO2022版
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/704753/
转载文章受原作者版权保护。转载请注明原作者出处!