本项目通过一些示例演示了如何通过OpenVINO运行PaddlePaddle模型。
克隆本项目。注意:默认以openvino-paddlepaddle-demo文件夹作为工作目录。
git clone https://github.com/raymondlo84/openvino-paddlepaddle-demo.git
cd openvino-paddlepaddle-demo
OpenVINO对paddlepaddle的原生支持计划于openvino 2022.1版本发布。在这之前开发者可以从github上的master分支提前体验相关功能。跟之前对其它框架的支持不同的是,开发者可以直接将PaddlePaddle的模型传递给OpenVINO直接进行推理,而无需先用ModelOptimizer转换成IR(参考文档TBD)。
默认将openvino安装在openvino/openvino_dist目录下。用户也可以通过改变cmake选项"CMAKE_INSTALL_PREFIX"将其安装到其它目录下。
注意:若不能使用代理顺利的访问github服务的机器(如中国国内的用户),建议将以下配置添加到本机~/.gitconfig。否则接下来从github克隆openvino的某些子项目很可能会失败。
[url "git://github.com"]
insteadOf="https://github.com"
从GitHub克隆OpenVINO及其子项目。
git clone https://github.com/openvinotoolkit/openvino.git
cd openvino
git submodule update --init --recursive
安装OpenVINO源码编译依赖。
- Linux平台
chmod +x install_build_dependencies.sh
./install_build_dependencies.sh
pip3 install -r inference-engine/ie_bridges/python/src/requirements-dev.txt
#install Python Dependencies
pip install -r inference-engine/ie_bridges/python/src/requirements-dev.txt
编译安装。可能需要若干分钟,具体取决于用户机器配置。
export OPENVINO_BASEDIR=`pwd`
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${OPENVINO_BASEDIR}/openvino_dist" \
-DPYTHON_EXECUTABLE=$(which python3) \
-DENABLE_MYRIAD=OFF \
-DENABLE_VPU=OFF \
-DENABLE_PYTHON=ON \
-DNGRAPH_PYTHON_BUILD_ENABLE=ON \
..
make -j$(nproc); make install
创建python的虚拟环境并安装相关依赖。
cd openvino-paddlepaddle-demo
python3 -m venv openvino_env
source openvino_env/bin/activate
#install the dependencies
python -m pip install --upgrade pip
pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple
#install the kernel to Jupyter
python -m ipykernel install --user --name openvino_env
我们将通过PaddlePaddle模型库PaddleDetection导出PPYolo的静态图模型。
# 注意:当前工作目录仍为openvino-paddlepaddle-demo。
git clone https://github.com/PaddlePaddle/PaddleDetection.git
cd PaddleDetection && git checkout release/2.1 && cd -
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install --upgrade -r PaddleDetection/requirements.txt -i https://mirror.baidu.com/pypi/simple
# 无须编译安装
# python PaddeDetection/setup.py install
激活python虚拟环境,配置OpenVINO环境变量,启动jupyter lab。注意,每一次新的会话,如终端关闭或重启都需要该步骤。
#For Linux and Mac
source openvino_env/bin/activate
source openvino/openvino_dist/bin/setupvars.sh
jupyter lab notebooks
PPYolo - notebooks/101-object-detection-yolo. MobilenetV3 Large - notebooks/100-mobilenetv3.
注意:确保选择openvino_env作为Notebook Kernel.
- 性能因用户的机器配置等因素而异,不代表官方发布的数据。参见 www.Intel.com/PerformanceIndex.
- 本项目使用的OpenVINO为非正式发布版。
- © Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.