上一个教程加载 Caffe 框架模型

下一个教程如何为Halide后端调度网络

原作者 Dmitry Kurtaev
兼容性 OpenCV >= 3.3

简介

本教程介绍如何使用 Halide 语言后端在 OpenCV 深度学习模块中运行模型。Halide 是一个开源项目,可以让我们以可读格式编写图像处理算法,根据特定设备安排计算,并以相当高的效率进行评估。

Halide 项目的官方网站:http://halide-lang.org/

最新效率比较:https://github.com/opencv/opencv/wiki/DNN-Efficiency

要求

LLVM 编译器

注意事项
LLVM 编译可能需要很长时间。

cd llvm_root
mkdir build && cd build
cmake -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release ...
make -j4
  • 在 Windows 上编译 LLVM(开发人员命令提示符)
mkdir \path-to-llvm-build\ && cd \path-to-llvm-build\
cmake.exe -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=\path-to-llvm-install\\G "Visual Studio 14 Win64"\path-to-llvm-sr\c
MSBuild.exe /m:4 /t:Build /p:Configuration=Release .\INSTALL.vcxproj

注释
\path-to-llvm-build\\path-to-llvm-install\ 是不同的目录。

Halide 语言。

git clone https://github.com/halide/Halide.git
  • 在 Linux 上构建 Halide
cd halide_root
mkdir build && cd build
cmake -DLLVM_DIR=llvm_root/build/lib/cmake/llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_VERSION=40 -DWITH_TESTS=OFF -DWITH_APPS=OFF -DWITH_TUTORIALS=OFF ...
make -j4
  • 在 Windows 上构建 Halide(开发人员命令提示符)
cd halide_root
mkdir build && cd build
cmake.exe -DLLVM_DIR=\path-to-llvm-install\lib\cmake\llvm -DLLVM_VERSION=40 -DWITH_TESTS=OFF -DWITH_APPS=OFF -DWITH_TUTORIALS=OFF -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 14 Win64" ...
MSBuild.exe /m:4 /t:Build /p:Configuration=Release .\\ALL_BUILD.vcxproj

使用 Halide 后端构建 OpenCV

在构建 OpenCV 时,添加以下配置标志:

  • WITH_HALIDE - 启用 Halide 链接
  • HALIDE_ROOT_DIR - Halide 构建目录的路径

将 Halide 设置为首选后端

net.setPreferableBackend(DNN_BACKEND_HALIDE)
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐