模型推理openvino推理实践(代码片段)

极智视界 极智视界     2022-12-21     463

关键词:

  本教程详细记录了在 ubuntu 上使用 openvino 进行推理的方法。

1、安装 openvino 和 open_model_zoo

  可以参考我这篇 《【模型推理】ubuntu 配置和使用 openvino》进行 openvino 的环境配置。


2、典型模型下载

cd open_model_zoo/tools/downloader 

## 下载典型模型 
./downloader.py --all -j8

  完了会生成两个文件夹,intel 和 public,其中 public 中存放了各框架的预训练模型文件(包括 caffe、tf、pytorch、onnx、mxnets),intel 中是经过了 openvino model optimizer 后的对应的模型文件 .xml.bin

  • .xml:表述了网络的拓扑结构
  • .bin:包含了网络的权重和偏置

3、模型优化

  第2步中下载的 intel/* 中的是直接给你用的优化好的模型文件,那么如果手上只有预训练模型,怎么进行模型优化并生成推理引擎能用的 .xml.bin 呢。以 googlenet 为例,需要这样:

python3 <OPENVINO_DIR>/model_optimizer/mo.py --input_model <models_dir>/public_models/public/googlenet/googlenet.caffemodel --data_type FP32 --output_dir <ir_dir>

  执行完后在文件夹 <ir_dir> 里会生成 googlenet-v1.bingooglenet-v1.xml


4、模型推理

  openvino 整个模型推理的逻辑图如下:

  在编译 openvino 的时候会同时编译一些 C++ 推理的demo,源码在 openvino/inference-engine/samples,可以看看,和 TRT 等其他框架的推理流程都差不多。

  同样以 googlenet 为例,用分类的 demo 进行测试,如下:

cd <OPENVINO_DIR>/bin/intel64/Release 

./classification_sample_async -i <OPENVINO_DIR>/scripts/demo/car.png -m <ir_dir>/googlenet.xml -d CPU

  成功执行会生成如下日志:


  收工~



扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

模型推理ubuntu配置和使用openvino(代码片段)

 本教程详细记录了在ubuntu上安装openvino的方法。文章目录1、cloneopenvino2、编译3、安装python接口4、cloneopen_model_zoo5、测试1、cloneopenvinogitclone--recursivehttps://gitee.com/openvinotoolkit-prc/openvino.git 若在clone一些三方依赖外链时超时࿰ 查看详情

美团视觉gpu推理服务部署架构优化实践(代码片段)

...U利用率普遍较低的挑战,美团视觉研发团队决定通过模型结构拆分和微服务化进行优化,他们提出了一种通用高效的部署架构,来解决这种常见的性能瓶颈问题。以“图像检测+分类”服务为例,优化后的服务... 查看详情

推理实践丨如何使用mindstudio进行pytorch模型离线推理

...的任务是AscendPytorch离线推理,即对给定的已经训练好的模型参数和推理脚本,在Ascend310/710和Tesla设备上进行推理应用。本文分享自华为云社区《​​使用MindStudio进行Pytorch模型离线推理​​》,作者:袁一博。本教程所示例的任... 查看详情

开发实践丨昇腾cann的推理应用开发体验(代码片段)

...关于一次Ascend在线实验的记录,主要内容是通过网络模型加载、推理、结果输出的部署全流程展示,从而快速熟悉并掌握ACL(AscendComputingLanguage)基本开发流程。本文分享自华为云社区《基于昇腾CANN的推理应用开... 查看详情

量化感知训练实践:实现精度无损的模型压缩和推理加速(代码片段)

简介:本文以近期流行的YOLOX[8]目标检测模型为例,介绍量化感知训练的原理流程,讨论如何实现精度无损的实践经验,并展示了量化后的模型能够做到精度不低于原始浮点模型,模型压缩4X、推理加速最高2.3X... 查看详情

模型推理谈谈为什么量化能加速推理(代码片段)

... o_O O_o ~_~ o_O 本文主要讨论一下为什么量化能加速模型推理。 前面已经写过几篇关于模型量化相关的文章:《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模型量化组织方式》、... 查看详情

推理实践丨如何使用mindstudio进行pytorch模型离线推理

...任务是AscendPytorch离线推理,即对给定的已经训练好的模型参数和推理脚本,在Ascend310/710和Tesla设备上进行推理应用。本文分享自华为云社区《使用MindStudio进行Pytorch模型离线推理》,作者:袁一博。本教程所示例... 查看详情

模型推理谈谈模型量化组织方式(代码片段)

...O_o >_< o_O O_o ~_~ o_O 本文主要聊一下深度学习模型量化组织方式。 在我的这篇《【模型推理】谈谈推理引擎的推理组织流程》文章里对模型量化策略进行了一些介绍,有兴趣的同学可以翻看一下。今天这里主要... 查看详情

tensorrt系列模型推理(代码片段)

 推理代码://tensorRTinclude#include<NvInfer.h>#include<NvInferRuntime.h>//cudainclude#include<cuda_runtime.h>//systeminclude#include<stdio.h>#include<math.h>#include&l 查看详情

模型推理模板(代码片段)

infer.h#pragmaonce#include<string>#include<future>#include<memory>//封装接口类classInferpublic:virtualstd::shared_future<std::string>commit(conststd::string&input)=0;;std::s 查看详情

yolov5pt模型导出onnx(代码片段)

...型的环境要求不一样,建议虚拟环境,比如onnx和openvino的numpy版本要求不一只,一个要求高配,一个要求低配pythonexport.py--includetorchscriptonnx如何测试和验证推理pythondetect.py--weightsyolov5s.onnx--dnn#detectpythonval.py--weightsyo... 查看详情

地址标准化服务ai深度学习模型推理优化实践

...持响应时间不变的前提下,使用结构更为复杂的深度学习模型,进而提升业务精度指标。本文针对地址标准化服务中的深度学习模型开展了推理性能优化工作。通过高性能算子、量化、编译优化等优化手段,在精度 查看详情

详解视频中动作识别模型与代码实践(代码片段)

摘要:本案例将为大家介绍视频动作识别领域的经典模型并进行代码实践。本文分享自华为云社区《视频动作识别》,作者:HWCloudAI。实验目标通过本案例的学习:掌握C3D模型训练和模型推理、I3D模型推理的方法&... 查看详情

模型推理寒武纪mluresnet50量化及离线推理流程(代码片段)

...搭建、resnet50量化、resnet50离线推理,resnet系列是标准模型,其他模型也可参考该流程执行。文章目录1、 查看详情

模型推理一文看懂winograd卷积加速算法(代码片段)

...篇卷积加速相关的文章,感兴趣的同学可以查阅《【模型推理】一文看懂Img2Col卷积加速算法》、《【模型推理】一文看懂GoogleTPU脉动阵列加速卷积计算原理》、《【模型推理】谈谈为什么 查看详情

a.特定领域知识图谱知识推理方案:知识图谱推理算法综述[一](基于距离的翻译模型:transetranshtransrtranshtransarotate)(代码片段)

...推理方案:知识图谱推理算法综述[一](基于距离的翻译模型:TransE、TransH、TransR、TransH、TransA、RotatE)A.特定领域知识图谱知识推理方案:知识图谱推理算法综述[二](DTransE/PairRE:基于表示学习的知识图谱链接预测算法)A.特定... 查看详情

极智ai|tensorrtparser构建模型推理方法(代码片段)

...好,我是极智视界,本文介绍一下TensorRTParser构建模型推理方法。 TensorRT构建模型推理一般有三种方式:(1)使用框架自带的TensorRT接口,如TF-TRT、Torch-TRT;(2)使用Parser前端解释器,如TF/ 查看详情

《enhancedlstmfornaturallanguageinference》(自然语言推理)(代码片段)

...络由以下部分组成:输入编码(InputEncoding),局部推理模型(LocalInferenceModeling),和推断合成(inferencecomposition)。结构图如下所示:垂直来看,上图显示了系统的三个主要组成部分;水平来看,左边代表称为ESIM的序列NLI模型... 查看详情