安装openvino就是无限踩坑的流程,现在用两种方式安装完毕,分享一下经验。
新版OPENVINO需要安装转换模型的工具以及本体。下载链接如下
下载英特尔® 发行版 OpenVINO™ 工具套件 (intel.cn)
1.工具的安装
根据自己的需要选择需要的模块框架,用PIP安装即可。
2.本体安装
在同一页面选择运行时(runtime)的安装,也是根据自己需要选择。(本人第一次选择归档文件安装,第二次选择git安装,后面git安装出现了问题,拷贝了归档文件中的python文件夹解决)
如果只需要Python版本则也可以PIP安装。需要C++版本则 需要git等其他方法安装。
(本人网络环境较差,git怎么都安装不下来,后面选择归档文件安装,第二次安装则选择git安装,下载安装后的手册如下跟着手册流程走即可。)
1.直接下载压缩包Install OpenVINO™ Runtime on Linux from an Archive File — OpenVINO™ documentation — Version(2022.2)
2.git
BuildingCode · openvinotoolkit/openvino Wiki (github.com)
1.直接下载压缩包结束后的安装步骤:
下载后解压压缩包,调用
文件夹内的setupvars.sh初始化环境,
2.通过git安装后的步骤
1.选好要安装的文件夹后直接通过官网的git连接直接克隆到本地。克隆结束后进行build.
我们需要为系统下载submodule。
如果对自己网络比较有自信的话,可以直接从git克隆。
git clone https://github.com/openvinotoolkit/openvino.git
cd openvino
git submodule update --init --recursive
如果觉得网络不太好可以使用从gitee更新的脚本
cd openvino
chmod +x scripts/submodule_update_with_gitee.sh
./scripts/submodule_update_with_gitee.sh
(我使用的就是gitee更新的脚本,动不动连接失败,重复运行脚本几十次后终于全部都安装完毕了)
2.给安装依赖的脚本运行权限,之后运行脚本
chmod +x install_build_dependencies.sh
./install_build_dependencies.sh
3.创建build文件夹并且在文件夹内运行CMAKE
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make --jobs=$(nproc --all)
(第三步还有一些附加选项,有需要可以整一下)
Build结束后就进入安装流程了。
cmake --install <BUILDDIR> --prefix <INSTALLDIR>
其中builddir为你的Build文件夹目录 installdir为你的openvino目录,如
cmake --install xx/xx/xx/openvino/build --prefix xx/xx/xx/openvino
结束后进入samples/cpp中,运行build_sample.sh
cd <INSTALLDIR>/samples/cpp
./build_samples.sh
5.之后需要根据之前分别下的开发工具进行下载模型
omz_downloader --name googlenet-v1 --output_dir ~/models
该命令可以下载googlenet-v1模型 至~/models文件夹内,你也可以下载到自己想要的文件夹。
下载的模型为caffe格式,不能直接运行。需要进行下一步的转换。
mo --input_model ~/models/public/googlenet-v1/googlenet-v1.caffemodel --data_type FP16 --output_dir ~/ir
input_model后面跟模型文件的地址,data_type为指定模型精度,可以省略。output_dir为输出的ir模型地址
简单点就是
mo --input_model xxxx/googlenet-v1.caffemodel --output_dir xxxx/output/
转换之后的模型格式为ir格式,为openvino自己的模型格式,运行时输入.xml文件地址即可运行(它也直接支持onnx格式的模型)
6.在下一步运行openvino文件夹下的setupvars.sh对环境进行初始化。
source ./setupvars.sh
(我之前在这报错python环境有问题,拷贝归档文件中的python文件夹解决,系统提示安装python依赖也可以解决问题,但是没有尝试)
如果环境初始化成功只会输出初始化成功,如果有警告报错等均为初始化失败。
7.运行
cd ~/inference_engine_cpp_samples_build/intel64/Release
./classification_sample_async -i ~/Downloads/dog.bmp -m ~/ir/googlenet-v1.xml -d CPU
上面代码含义为转到release文件夹中。运行classification_sample_async,使用dog.bmp图片与googlenet-v1.xml模型,使用CPU进行推理。如果你生成的sample程序在其他文件夹的话,简化一下就是
./classification_sample_async XXXXXX/dog.bmp xxxxxx/googlenet-v1.xml(onnx也可以) CPU
即可运行并输出结果