? 本教程详细记录了在 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.bin 、googlenet-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 !
|