Xuất OpenVINO của Intel#
Trong hướng dẫn này, chúng tôi trình bày cách xuất các model YOLO26 sang định dạng OpenVINO, có thể tăng tốc [CPU](https://ultralytics-translation-1.invalid lên đến 3 lần, đồng thời tăng tốc suy luận YOLO trên phần cứng GPU và NPU của Intel.
OpenVINO, viết tắt của bộ công cụ Tối ưu hóa Suy luận Hình ảnh Mở & Mạng nơ-ron, là một bộ công cụ toàn diện để tối ưu hóa và triển khai các model suy luận AI. Mặc dù tên có chứa từ Visual, OpenVINO cũng hỗ trợ nhiều tác vụ bổ sung như ngôn ngữ, âm thanh, chuỗi thời gian, v.v.
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
Các Task được hỗ trợ#
Xuất OpenVINO hỗ trợ cả bảy tác vụ của Ultralytics. Phân đoạn ngữ nghĩa và ước tính độ sâu chỉ khả dụng với YOLO26, dòng duy nhất được cung cấp các head đó.
Cài đặt#
Cài đặt các phụ thuộc xuất OpenVINO bằng lệnh:
pip install "ultralytics[export-openvino]"Các phụ thuộc này cũng được bao gồm trong ultralytics[export] và được cài đặt tự động khi quá trình xuất yêu cầu.
Ví dụ sử dụng#
Định dạng OpenVINO hỗ trợ các chế độ Export, Predict và Validate. Hãy xuất model, sau đó tải model đã xuất để chạy suy luận hoặc xác thực độ chính xác trên CPU Intel, GPU tích hợp/rời hoặc NPU.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Đối số Export#
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'openvino' | Định dạng đích của model đã export, xác định khả năng tương thích với nhiều môi trường triển khai. |
imgsz | int hoặc tuple | 640 | Kích thước ảnh mong muốn cho input của model. Có thể là một số nguyên đối với ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể. |
quantize | int hoặc str | None | Độ chính xác lượng tử hóa: 16 (FP16) hoặc 8 (INT8/PTQ; cần calibration data/fraction); 32/không đặt là FP32. Thay thế các cờ half/int8 đã bị deprecated. |
dynamic | bool | False | Cho phép kích thước input động, tăng tính linh hoạt khi xử lý các kích thước ảnh khác nhau. |
nms | bool, tùy chọn | None | Chọn đầu ra thô (None, mặc định), NMS tích hợp (True), hoặc phần đầu không có NMS (False). |
batch | int | 1 | Chỉ định batch inference size của model export hoặc số image tối đa mà model đã export sẽ xử lý đồng thời trong mode predict. |
data | str | None | Đường dẫn đến YAML của dataset, cần thiết cho lượng tử hóa; tác vụ classification thay vào đó nhận một thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu bị bỏ qua khi dùng quantize=8, Ultralytics sẽ chọn dataset calibration mặc định cho tác vụ của model. |
fraction | float, int hoặc list | 1.0 | Tập con hiệu chuẩn dưới dạng tỷ lệ, số lượng ảnh hoặc các tỷ lệ/số lượng [train, val, test]. Với danh sách gồm hai mục, test để trống, còn 0 sẽ bỏ qua mục này. |
Để biết thêm chi tiết về quy trình export, hãy truy cập trang tài liệu Ultralytics về export.
OpenVINO™ tương thích với hầu hết bộ xử lý Intel®, nhưng để đảm bảo hiệu năng tối ưu:
-
Xác minh hỗ trợ OpenVINO™ Kiểm tra xem chip Intel® của bạn có được OpenVINO™ hỗ trợ chính thức hay không bằng danh sách tương thích của Intel.
-
Xác định bộ tăng tốc Xác định xem bộ xử lý của bạn có NPU tích hợp (Bộ xử lý nơ-ron) hoặc GPU (GPU tích hợp) hay không bằng cách tham khảo hướng dẫn phần cứng của Intel.
-
Cài đặt driver mới nhất Nếu chip của bạn hỗ trợ NPU hoặc GPU nhưng OpenVINO™ không phát hiện được, bạn có thể cần cài đặt hoặc cập nhật các driver liên quan. Làm theo hướng dẫn cài đặt driver để bật đầy đủ khả năng tăng tốc.
Bằng cách thực hiện ba bước này, bạn có thể đảm bảo OpenVINO™ hoạt động tối ưu trên phần cứng Intel® của mình.
Lợi ích của OpenVINO#
- Hiệu năng: OpenVINO cung cấp khả năng suy luận hiệu năng cao bằng cách tận dụng sức mạnh của CPU Intel, GPU tích hợp và rời, cùng FPGA.
- Hỗ trợ thực thi không đồng nhất: OpenVINO cung cấp một API để viết một lần và triển khai trên mọi phần cứng Intel được hỗ trợ (CPU, GPU, FPGA, VPU, v.v.).
- Model Optimizer: OpenVINO cung cấp Model Optimizer để nhập, chuyển đổi và tối ưu hóa model từ các framework deep learning phổ biến như PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle và Caffe.
- Dễ sử dụng: Bộ công cụ đi kèm một bộ sưu tập lớn các notebook hướng dẫn (bao gồm tối ưu hóa YOLO26) để hướng dẫn các khía cạnh khác nhau của bộ công cụ.
Cấu trúc xuất OpenVINO#
Khi xuất một model sang định dạng OpenVINO, kết quả là một thư mục chứa các thành phần sau:
- Tệp XML: Mô tả topology của mạng.
- Tệp BIN: Chứa dữ liệu nhị phân của các weight và bias.
- Tệp mapping: Lưu mapping từ các tensor output của model gốc sang tên tensor OpenVINO.
Bạn có thể sử dụng các tệp này để chạy suy luận với OpenVINO Inference Engine.
Sử dụng tính năng xuất OpenVINO trong triển khai#
Sau khi model được xuất thành công sang định dạng OpenVINO, bạn có hai tùy chọn chính để chạy suy luận:
-
Sử dụng package
ultralytics, cung cấp API cấp cao và bao bọc OpenVINO Runtime. -
Sử dụng package
openvinonative để kiểm soát nâng cao hoặc tùy chỉnh hành vi suy luận.
Suy luận với Ultralytics#
Package ultralytics cho phép bạn dễ dàng chạy suy luận bằng model OpenVINO đã xuất thông qua phương thức predict. Bạn cũng có thể chỉ định thiết bị đích (ví dụ: intel:gpu, intel:npu, intel:cpu) bằng tham số device.
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference onCách tiếp cận này phù hợp cho việc prototype nhanh hoặc triển khai khi bạn không cần toàn quyền kiểm soát pipeline suy luận.
Suy luận với OpenVINO Runtime#
OpenVINO Runtime cung cấp API hợp nhất để suy luận trên mọi phần cứng Intel được hỗ trợ. Runtime cũng cung cấp các khả năng nâng cao như cân bằng tải trên phần cứng Intel và thực thi bất đồng bộ. Để biết thêm thông tin về cách chạy suy luận, hãy tham khảo các notebook YOLO26.
Hãy nhớ rằng bạn sẽ cần các tệp XML và BIN, cùng với mọi thiết lập dành riêng cho ứng dụng như kích thước đầu vào, hệ số scale để chuẩn hóa, v.v., để thiết lập và sử dụng model chính xác với Runtime.
Trong ứng dụng triển khai, thông thường bạn sẽ thực hiện các bước sau:
- Khởi tạo OpenVINO bằng cách tạo
core = Core(). - Tải model bằng phương thức
core.read_model(). - Compile model bằng hàm
core.compile_model(). - Chuẩn bị đầu vào (hình ảnh, văn bản, âm thanh, v.v.).
- Chạy suy luận bằng
compiled_model(input_data).
Để biết các bước chi tiết hơn và các đoạn code mẫu, hãy tham khảo tài liệu OpenVINO hoặc hướng dẫn API.
Benchmark YOLO26 với OpenVINO#
Đội ngũ Ultralytics đã benchmark YOLO26 trên nhiều định dạng model và độ chính xác, đánh giá tốc độ và độ chính xác trên các thiết bị Intel khác nhau tương thích với OpenVINO.
-
Kết quả benchmark dưới đây chỉ mang tính tham khảo và có thể thay đổi tùy theo cấu hình phần cứng, phần mềm cụ thể của hệ thống, cũng như workload hiện tại của hệ thống tại thời điểm chạy benchmark.
-
Tất cả benchmark được chạy với phiên bản package Python
openvino2026.2.1. -
Các model YOLO26 trên NPU chỉ được hỗ trợ trên hệ thống Intel® Core™ Ultra™ dòng 2xxV và dòng 3xx trở lên.
Intel® Core™ Ultra#
Dòng Intel® Core™ Ultra™ đại diện cho một chuẩn mực mới trong lĩnh vực điện toán hiệu năng cao, được thiết kế để đáp ứng nhu cầu ngày càng phát triển của người dùng hiện đại—từ game thủ, nhà sáng tạo đến các chuyên gia ứng dụng AI. Dòng sản phẩm thế hệ mới này không chỉ là một dòng CPU truyền thống; nó kết hợp các lõi CPU mạnh mẽ, khả năng GPU hiệu năng cao tích hợp và một Bộ xử lý nơ-ron (NPU) chuyên dụng trong một chip duy nhất, cung cấp giải pháp hợp nhất cho nhiều workload điện toán đa dạng và chuyên sâu.
Trọng tâm của kiến trúc Intel® Core Ultra™ là thiết kế hybrid, cho phép đạt hiệu năng vượt trội trên các tác vụ xử lý truyền thống, workload được tăng tốc bằng GPU và các hoạt động điều khiển bởi AI. Việc tích hợp NPU nâng cao khả năng suy luận AI trên thiết bị, giúp machine learning và xử lý dữ liệu nhanh hơn, hiệu quả hơn trên nhiều ứng dụng.
Họ Core Ultra™ bao gồm nhiều model được thiết kế cho các nhu cầu hiệu năng khác nhau, với lựa chọn từ các thiết kế tiết kiệm năng lượng đến các biến thể công suất cao mang ký hiệu "H"—lý tưởng cho laptop và các thiết bị có form factor nhỏ gọn nhưng yêu cầu năng lực điện toán mạnh. Trên toàn bộ dòng sản phẩm, người dùng được hưởng lợi từ sự kết hợp của CPU, GPU và NPU, mang lại hiệu quả, khả năng phản hồi và năng lực multitasking đáng kể.
Là một phần trong quá trình đổi mới liên tục của Intel, dòng Core Ultra™ thiết lập tiêu chuẩn mới cho điện toán sẵn sàng cho tương lai. Với nhiều model hiện có và nhiều model khác đang được phát triển, dòng sản phẩm này nhấn mạnh cam kết của Intel trong việc cung cấp các giải pháp tiên tiến cho thế hệ thiết bị thông minh được tăng cường bởi AI tiếp theo.
Các benchmark dưới đây được chạy trên Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V và Intel® Core™ Ultra™ 7 155H với độ chính xác FP32, FP16 và INT8.
Intel® Core™ Ultra™ X7 358H#
Kết quả benchmark chi tiết
| Model | Định dạng | Precision | Trạng thái | Kích thước (MB) | metrics/mAP50-95(B) | Thời gian suy luận (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
Kết quả benchmark chi tiết
| Model | Định dạng | Precision | Trạng thái | Kích thước (MB) | metrics/mAP50-95(B) | Thời gian suy luận (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
Kết quả benchmark chi tiết
| Model | Định dạng | Precision | Trạng thái | Kích thước (MB) | metrics/mAP50-95(B) | Thời gian suy luận (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
Tái tạo kết quả của chúng tôi#
Để tái tạo các benchmark Ultralytics ở trên trên tất cả định dạng export, hãy chạy đoạn code này:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")Lưu ý rằng kết quả benchmark có thể thay đổi tùy theo cấu hình phần cứng, phần mềm cụ thể của hệ thống, cũng như workload hiện tại của hệ thống tại thời điểm chạy benchmark. Để có kết quả đáng tin cậy nhất, hãy sử dụng dataset có số lượng hình ảnh lớn, tức là data='coco.yaml' (5000 ảnh val).
Kết luận#
Kết quả benchmark cho thấy rõ lợi ích của việc xuất model YOLO26 sang định dạng OpenVINO. Trên các model và nền tảng phần cứng khác nhau, định dạng OpenVINO luôn vượt trội các định dạng khác về tốc độ suy luận trong khi vẫn duy trì độ chính xác tương đương.
Các benchmark nhấn mạnh tính hiệu quả của OpenVINO như một công cụ triển khai các model deep learning. Bằng cách chuyển đổi model sang định dạng OpenVINO, developer có thể đạt được cải thiện hiệu năng đáng kể, giúp việc triển khai các model này trong ứng dụng thực tế trở nên dễ dàng hơn.
Để biết thêm thông tin chi tiết và hướng dẫn sử dụng OpenVINO, hãy tham khảo tài liệu OpenVINO chính thức.
FAQ#
Việc xuất model YOLO26 sang định dạng OpenVINO có thể cải thiện đáng kể tốc độ CPU và cho phép tăng tốc GPU, NPU trên phần cứng Intel. Để xuất, bạn có thể sử dụng Python hoặc CLI như minh họa bên dưới:
Ví dụfrom ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model model.export(format="openvino") # creates 'yolo26n_openvino_model/'Để biết thêm thông tin, hãy tham khảo tài liệu về các định dạng export.
Việc sử dụng bộ công cụ OpenVINO của Intel với các model YOLO26 mang lại một số lợi ích:
- Hiệu năng: Đạt tốc độ suy luận CPU nhanh hơn lên đến 3 lần và tận dụng GPU, NPU Intel để tăng tốc.
- Model Optimizer: Chuyển đổi, tối ưu hóa và thực thi model từ các framework phổ biến như PyTorch, TensorFlow và ONNX.
- Dễ sử dụng: Có sẵn một bộ sưu tập lớn các notebook hướng dẫn giúp người dùng bắt đầu, bao gồm cả các notebook dành cho YOLO26.
- Thực thi không đồng nhất: Triển khai model trên nhiều phần cứng Intel bằng một API hợp nhất.
Để xem các so sánh hiệu năng chi tiết, hãy truy cập mục benchmark của chúng tôi.
Sau khi xuất model YOLO26n sang định dạng OpenVINO, bạn có thể chạy suy luận bằng Python hoặc CLI:
Ví dụfrom ultralytics import YOLO # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference results = ov_model("https://ultralytics.com/images/bus.jpg")Hãy tham khảo tài liệu về chế độ predict để biết thêm chi tiết.
Ultralytics YOLO26 được tối ưu hóa cho khả năng phát hiện đối tượng theo thời gian thực với độ chính xác và tốc độ cao. Cụ thể, khi kết hợp với OpenVINO, YOLO26 cung cấp:
- Tốc độ nhanh hơn lên đến 3 lần trên CPU Intel
- Triển khai liền mạch trên GPU và NPU Intel
- Độ chính xác nhất quán và tương đương trên nhiều định dạng export khác nhau
Để phân tích hiệu năng chuyên sâu, hãy xem các benchmark YOLO26 chi tiết của chúng tôi trên nhiều phần cứng khác nhau.
Có, bạn có thể benchmark các model YOLO26 ở nhiều định dạng, bao gồm PyTorch, TorchScript, ONNX và OpenVINO. Sử dụng đoạn code sau để chạy benchmark trên dataset bạn chọn:
Ví dụfrom ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")Để xem kết quả benchmark chi tiết, hãy tham khảo tài liệu mục benchmark và các định dạng export của chúng tôi.