极智AI | openvino 推理实践

436 阅读2分钟

 「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

   大家好,我是极智视界。本教程详细记录了在 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

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

  好了,以上分享了openvino推理实践,希望我的分享能对你的学习有一点帮助。