目錄

廣告 AD

OpenVINO 安裝與使用 — 加速 AI 推理!

intel-npu-acceleration-library 已經停止維護了

官方建議使用 OpenVINO,所以我就稍微研究了一下~

廣告 AD

OpenVINO 是一個由 intel 所開發的 AI 推理工具包,能透過優化模型和利用 intel 硬體,提升 inference 的速度,目前支援許多主流的框架,像是 PyTorch、TensorFlow、ONNX 等,硬體部分支援 CPU、GPU 和 NPU。OpenVINO 底層是由 C++ 撰寫的,並提供許多語言的 API Interface,像是 Python、JavaScript。


https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html

OpenVINO 支援了許多作業系統,也支援了許多的安裝方式,要安裝的可以到上方連結去安裝,這邊我們示範在 Windows 上下載 Archives。

然後點擊連結並下載

下載後,解壓縮,你會得到一個資料夾,名稱可能會根據你下載的版本而有所不同

接著,我們根據 Intel 官方的建議,在 C:\Program Files (x86) 的地方創建一個 Intel 的資料夾

完整路徑:C:\Program Files (x86)\Intel

然後將剛剛解壓縮後的資料夾放到新創建的資料夾中,並重新命名資料夾為 openvino_2025.1.0

如果你的版本跟範例的不同,可以自行調整

完成後資料夾內會呈現這樣

text

.
└── C:\Program Files (x86)\Intel/
    └── openvino_2025.1.0/
        ├── docs/
        ├── python/
        ├── runtime/
        ├── samples/
        ├── setupvars.bat
        └── setupvars.ps1

最後創建一個 symbolic link 來指向這個資料夾就完成了

我們在 C:\Program Files (x86)\Intel 的資料夾中打開 cmd,並輸入以下的指令

記得要打開有管理員權限的 cmd

cmd

mklink /D openvino_2025 openvino_2025.1.0

最終完成長這樣:

text

.
└── C:\Program Files (x86)\Intel/
    ├── openvino_2025
    └── openvino_2025.1.0/
        ├── docs/
        ├── python/
        ├── runtime/
        ├── samples/
        ├── setupvars.bat
        └── setupvars.ps1

OpenVINO 在編譯或是執行時會需要先設定環境,在 Windows 上,我們可以使用 cmd 或是 powershell 來設定環境,記得設定完環境後,之後所有的指令都要在同一個 powershell/bash 上運行,這樣才能讀到設定好的環境變數。

powershell

. <path-to-setupvars-folder>/setupvars.ps1

cmd

"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"

OpenVINO 有提供許多的 API Interface,這裡我們介紹比較常用的 Python 和 C++。


我們先創建一個虛擬環境

cmd

python -m venv .venv

然後初始 OpenVINO 環境,完成後我們就可以開始來跑 OpenVINO 的程式了!

cmd

"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"

跑個簡單的程式,印出版本和可用的 Inference 裝置。

python

import openvino as ov

openvino_version = ov.get_version()
print(f"{openvino_version=}")

core = ov.Core()
available_devices = core.available_devices
print(f"{available_devices=}")

text

openvino_version='2025.1.0-18503-6fec06580ab-releases/2025/1'
available_devices=['CPU', 'GPU', 'NPU']

C++ 相對於 Python 比較複雜,我們用 cmake 來幫助我們編譯程式,cmake 需要先自行安裝好

首先我們先撰寫一個簡單的 OpenVINO 程式,印出版本和可用的 inference 裝置,並取名為 main.cpp

cpp

#include <iostream>
#include <openvino/openvino.hpp>

int main(int argc, char *argv[])
{
    std::cout << ov::get_openvino_version() << std::endl;

    ov::Core core;
    std::vector<std::string> available_devices = core.get_available_devices();
    for (auto &device : available_devices)
    {
        std::cout << device << std::endl;
    }
}

接著撰寫 cmake 檔案,我們建立一個 CMakeLists.txt 的檔案,並撰寫以下的內容

注意我們要先透過 set 設定 OpenVINO 的目錄,路徑為 C:\Program Files (x86)\Intel\openvino_2025\runtime\cmake,接著我們就可以透過 find_package 來尋找 OpenVINO 了,後續記得使用 target_link_libraries 來 link openvino::runtime,這樣就會自動幫我們 link OpenVINO 相關的 library 和 include OpenVINO 相關的 headers。

cmake

cmake_minimum_required(VERSION 3.10)

project(
  openvino_test
  VERSION 1.0
  LANGUAGES CXX)

set(OpenVINO_DIR "C:\\Program Files (x86)\\Intel\\openvino_2025\\runtime\\cmake")
find_package(OpenVINO REQUIRED)

add_executable(main main.cpp)
target_compile_features(main PRIVATE cxx_std_17)
target_link_libraries(main PRIVATE openvino::runtime)
set_target_properties(main PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")

在編譯前,我們一樣要先設定環境,

shell

"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"

然後就可以編譯啦~

shell

cmake -B build -S .
cmake --build build

輸出:

text

OpenVINO Runtime
    Version : 2025.1.0
    Build   : 2025.1.0-18503-6fec06580ab-releases/2025/1

CPU
GPU
NPU

OpenVINO 的 API document 都放在這啦~ 可以開始程式之旅啦~

https://docs.openvino.ai/nightly/api/api_reference.html



廣告 AD