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

intel-npu-acceleration-library 已經停止維護了
官方建議使用 OpenVINO,所以我就稍微研究了一下~
OpenVINO
OpenVINO 是一個由 intel 所開發的 AI 推理工具包,能透過優化模型和利用 intel 硬體,提升 inference 的速度,目前支援許多主流的框架,像是 PyTorch、TensorFlow、ONNX 等,硬體部分支援 CPU、GPU 和 NPU。OpenVINO 底層是由 C++ 撰寫的,並提供許多語言的 API Interface,像是 Python、JavaScript。
Install
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
如果你的版本跟範例的不同,可以自行調整

完成後資料夾內會呈現這樣
.
└── 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
mklink /D openvino_2025 openvino_2025.1.0
最終完成長這樣:
.
└── C:\Program Files (x86)\Intel/
├── openvino_2025
└── openvino_2025.1.0/
├── docs/
├── python/
├── runtime/
├── samples/
├── setupvars.bat
└── setupvars.ps1
Usage
OpenVINO 在編譯或是執行時會需要先設定環境,在 Windows 上,我們可以使用 cmd 或是 powershell 來設定環境,記得設定完環境後,之後所有的指令都要在同一個 powershell/bash 上運行,這樣才能讀到設定好的環境變數。
. <path-to-setupvars-folder>/setupvars.ps1
"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"
OpenVINO 有提供許多的 API Interface,這裡我們介紹比較常用的 Python 和 C++。
Python
我們先創建一個虛擬環境
python -m venv .venv
然後初始 OpenVINO 環境,完成後我們就可以開始來跑 OpenVINO 的程式了!
"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"
跑個簡單的程式,印出版本和可用的 Inference 裝置。
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=}")
openvino_version='2025.1.0-18503-6fec06580ab-releases/2025/1'
available_devices=['CPU', 'GPU', 'NPU']
C++
C++ 相對於 Python 比較複雜,我們用 cmake
來幫助我們編譯程式,cmake 需要先自行安裝好
首先我們先撰寫一個簡單的 OpenVINO 程式,印出版本和可用的 inference 裝置,並取名為 main.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_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}")
在編譯前,我們一樣要先設定環境,
"C:\Program Files (x86)\Intel\openvino_2025\setupvars.bat"
然後就可以編譯啦~
cmake -B build -S .
cmake --build build
輸出:
OpenVINO Runtime
Version : 2025.1.0
Build : 2025.1.0-18503-6fec06580ab-releases/2025/1
CPU
GPU
NPU
Note
OpenVINO 的 API document 都放在這啦~ 可以開始程式之旅啦~
https://docs.openvino.ai/nightly/api/api_reference.html
Reference
- https://en.wikipedia.org/wiki/OpenVINO
- https://blog.csdn.net/inteldevzone/article/details/136182803
- https://docs.openvino.ai/2025/get-started/install-openvino/install-openvino-archive-windows.html
- https://docs.openvino.ai/2025/get-started/learn-openvino/openvino-samples/hello-classification.html
- https://docs.openvino.ai/nightly/api/api_reference.html
如果你覺得這篇文章有用 可以考慮贊助飲料給大貓咪