OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
如何啟用 Halide 後端以提高效率

上一個教程: 載入 Caffe 框架模型
下一個教程: 如何為 Halide 後端排程你的網路

原始作者Dmitry Kurtaev
相容性OpenCV >= 3.3

介紹

本教程指導如何在 OpenCV 深度學習模組中使用 Halide 語言後端執行你的模型。 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 (Developer Command Prompt)
    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 (Developer Command Prompt)
    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);