做网站的叫什么软件,学校官方网站网页设计,网站制作优化全包,自己开发appOpenVINO部署 什么是 OpenVINO#xff1f;OpenVINO 的优势安装指南系统要求#xff1a;安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO#xff1f;
OpenVINO#xff08;Open Visual Inference and Neural Network Optimization#xff09;是由… OpenVINO部署 什么是 OpenVINOOpenVINO 的优势安装指南系统要求安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO
OpenVINOOpen Visual Inference and Neural Network Optimization是由英特尔开发的工具包旨在优化和加速在各种英特尔架构如CPU、GPU和FPGA上的深度学习推理特别侧重于计算机视觉任务。该工具包支持来自流行框架如TensorFlow和PyTorch的模型将它们转换为适合在英特尔硬件上部署的中间表示。
OpenVINO 的优势
OpenVINO的一个显著优势是能够显著减少推理时间。例如一位在Kaggle比赛中获得第二名的参赛者指出将PyTorch模型转换为OpenVINO模型可以减少约40%的推理时间。这在比赛条件要求只使用CPU且运行时间必须在120分钟以内时尤为重要。
安装指南
系统要求
支持的操作系统Windows、Linux、macOS、Raspbian OS支持的硬件英特尔CPU、集成GPU、英特尔神经计算棒2和带有Movidius VPU的英特尔视觉加速设计
安装步骤
Windows
使用安装程序 从 OpenVINO工具包页面下载安装程序。 运行安装程序并按照屏幕上的说明进行操作。 通过运行 setupvars.bat 设置环境变量。 使用PyPI pip install openvinoLinux
使用APT
wget -qO- https://apt.repos.intel.com/openvino/2023.0/setup.sh | sudo bash
sudo apt install openvino-runtime-ubuntu22使用Docker
docker pull openvino/ubuntu20_runtime:2023.0
docker run -it openvino/ubuntu20_runtime:2023.0macOS
使用Homebrew
brew install openvinoRaspbian OS
请参阅具体的 Raspbian安装指南。
环境设置
配置环境变量 对于Windows
C:\Program Files (x86)\Intel\openvino\bin\setupvars.bat对于Linux/macOS
source /opt/intel/openvino/bin/setupvars.sh验证安装 运行以下命令以检查安装
python -c import openvino; print(openvino.__version__)部署示例代码
PyTorch 模型部署
import openvino as ov
import torch# 加载PyTorch模型
model torch.hub.load(pytorch/vision, shufflenet_v2_x1_0, weightsDEFAULT)
example torch.randn(1, 3, 224, 224)# 转换为OpenVINO模型
ov_model ov.convert_model(model, example_input(example,))# 编译并运行推理
core ov.Core()
compiled_model core.compile_model(ov_model, CPU)
output compiled_model({0: example.numpy()})
print(output)TensorFlow 模型部署
import openvino as ov
import tensorflow as tf
import numpy as np# 加载TensorFlow模型
model tf.keras.applications.MobileNetV2(weightsimagenet)# 转换为OpenVINO模型
ov_model ov.convert_model(model)# 编译并运行推理
core ov.Core()
compiled_model core.compile_model(ov_model, CPU)
data np.random.rand(1, 224, 224, 3)
output compiled_model({0: data})
print(output)优化和部署步骤
OpenVINO 提供了各种工具来优化模型
模型优化器转换和优化模型。训练后优化工具调整模型以获得更好的性能。基准测试工具测量推理性能。有关详细步骤和高级配置请参阅官方的 OpenVINO文档 和 GitHub 仓库。
详细部署示例
准备环境 安装必要的软件包
!pip install openvino-dev[onnx]创建并保存模型
import torch
import timm
from torch.onnx import export# 从timm加载预训练模型
model timm.create_model(resnet50, pretrainedTrue)
model.eval()# 为模型设置虚拟输入这应该与模型的输入大小匹配
input_tensor torch.randn(1, 3, 224, 224)# 导出模型
output_onnx model.onnx
export(model, input_tensor, output_onnx, opset_version11, input_names[input], output_names[output])将模型转换为OpenVINO格式
!mo --input_model /kaggle/working/model.onnx --output_dir /kaggle/working --input_shape [1,3,224,224]定义OpenVINO对象并执行推理
from openvino.runtime import Core# 初始化推理引擎
ie Core()# 从IR文件读取网络和相应的权重
model_path /kaggle/working/model.xml # .xml文件的路径
model ie.read_model(modelmodel_path)# 为特定设备编译模型
compiled_model ie.compile_model(modelmodel_path, device_nameCPU)
infer_request compiled_model.create_infer_request()# 获取输入和输出层
input_layer compiled_model.input(0)
output_layer compiled_model.output(0)# 准备输入数据例如处理成张量的图像
input_sample torch.randn(1, 3, 224, 224)
# 检索第一个输入层的名称并创建字典
inputs {input_layer.any_name: input_sample}# 执行推理
result infer_request.infer(inputsinputs)# 访问结果
output result[output_layer]
# 1000类分类
print(len(output[0]))
print(output)时间测量可选
测量推理时间
import time
import numpy as nptimes []
loop 10 # 时间测量的循环次数
for i in range(loop):t1 time.time()infer_request.infer(inputs)t2 time.time()times.append(t2 - t1)print(平均推理时间, np.mean(times))