OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
如何启用 Halide 后端以提高效率

上一个教程: 加载 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 编译可能需要很长时间。
  • http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz 下载 LLVM 源代码。解压缩。假设 llvm_root 是源代码的根目录。
  • 创建目录 llvm_root/tools/clang
  • 下载与 LLVM 相同版本的 Clang。在我们的案例中,它将来自 http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz。将其解压缩到 llvm_root/tools/clang 中。注意,它应该是 Clang 源代码的根目录。
  • 在 Linux 上构建 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-src\\
    MSBuild.exe /m:4 /t:Build /p:Configuration=Release .\\INSTALL.vcxproj
注意
\\path-to-llvm-build\\\\path-to-llvm-install\\ 是不同的目录。

Halide 语言。

  • 从 GitHub 代码仓库 https://github.com/halide/Halide 或使用 Git 下载源代码。根目录将是 halide_root
    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);