Meet YOLO26: next-gen vision AI.

Link to this sectionXuất các model YOLO sang LiteRT để triển khai trên Edge và Web#

LiteRT edge deployment framework

LiteRT (viết tắt của Lite Runtime) là runtime hiệu năng cao của Google dành cho AI trên thiết bị. Đây là thế hệ tiếp theo và là tên gọi mới của TensorFlow Lite (TFLite), và nó chạy cùng định dạng model .tflite. Với LiteRT, một model Ultralytics YOLO sau khi xuất có thể triển khai trên di động, thiết bị nhúng, edge và trình duyệt — bao gồm mọi thứ mà các định dạng xuất tflitetfjs cũ trước đây thực hiện riêng biệt, nay được gộp chung dưới một hệ thống duy nhất.

Định dạng xuất LiteRT tối ưu hóa các model của bạn cho các tác vụ như phát hiện đối tượng, phân đoạn, ước tính tư thếphân loại để chúng chạy nhanh và ngoại tuyến trên nhiều loại thiết bị.

Link to this sectionTại sao bạn nên xuất sang LiteRT?#

LiteRT là một framework mã nguồn mở được thiết kế cho suy luận trên thiết bị, còn được gọi là edge computing. Nó cung cấp cho các nhà phát triển các công cụ để thực thi các model đã được huấn luyện trên thiết bị di động, thiết bị nhúng và IoT, máy tính truyền thống và — thông qua LiteRT.js — trực tiếp trên trình duyệt web và Node.js.

Một định dạng model, mọi đích đến:

  • Di động & Nhúng: Android, iOS, Linux nhúng và vi điều khiển (MCU).
  • Bộ tăng tốc Edge: Tương thích với Coral Edge TPU để tăng tốc thêm.
  • Trình duyệt & Node.js: LiteRT.js chạy cùng một model .tflite trên web với khả năng tăng tốc WebGPU/WASM — loại bỏ nhu cầu về một định dạng xuất TensorFlow.js riêng biệt.

Link to this sectionCác tính năng chính của model LiteRT#

  • Tối ưu hóa trên thiết bị: Giảm độ trễ bằng cách xử lý dữ liệu cục bộ, tăng cường quyền riêng tư bằng cách không truyền dữ liệu cá nhân và giảm thiểu kích thước model để tiết kiệm dung lượng.
  • Hỗ trợ đa nền tảng: Chạy trên Android, iOS, Linux nhúng, vi điều khiển và các trình duyệt web hiện đại.
  • Tăng tốc phần cứng: Tận dụng XNNPACK trên CPU và tăng tốc GPU thông qua OpenCL, Metal và WebGPU. Delegate GPU chạy ở chế độ FP16 theo mặc định để tăng thêm tốc độ.
  • Lượng tử hóa (Quantization): Hỗ trợ FP32, INT8 tĩnh (quantize=8, trọng số int8 + kích hoạt int8), kích hoạt INT16 tĩnh (quantize="w8a16", trọng số int8 + kích hoạt int16 để đạt độ chính xác cao hơn) và INT8 động (quantize="w8a32", trọng số int8 + kích hoạt FP32, không cần dữ liệu hiệu chuẩn) để nén model và tăng tốc suy luận với độ mất mát độ chính xác tối thiểu.
  • Hỗ trợ đa ngôn ngữ: Tương thích với Java/Kotlin, Swift, Objective-C, C++, Python và JavaScript.

Link to this sectionXuất sang LiteRT: Chuyển đổi model YOLO của bạn#

Bạn có thể cải thiện hiệu quả thực thi trên thiết bị và mở rộng các tùy chọn triển khai bằng cách chuyển đổi model của mình sang định dạng LiteRT.

Link to this sectionCài đặt#

Để cài đặt gói cần thiết, hãy chạy:

Cài đặt
# Install the required package for YOLO
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp tối ưu nhất, hãy xem hướng dẫn cài đặt Ultralytics của chúng tôi. Nếu gặp khó khăn, hãy tham khảo hướng dẫn về các sự cố thường gặp của chúng tôi.

Hỗ trợ nền tảng

Tính năng xuất LiteRT hiện được hỗ trợ trên Linux x86_64macOS. Bản thân model .tflite đã xuất có thể chạy trên tất cả các nền tảng được LiteRT hỗ trợ (di động, nhúng, edge và trình duyệt).

Link to this sectionCách sử dụng#

Tất cả các model Ultralytics YOLO đều hỗ trợ xuất ngay lập tức. Định dạng LiteRT hỗ trợ các chế độ Xuất, Dự đoánXác thực, vì vậy bạn có thể xuất model, sau đó tải nó để thực hiện suy luận hoặc xác thực độ chính xác của nó tại chỗ.

Xuất (Export)
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to LiteRT format
model.export(format="litert")  # creates 'yolo26n.tflite'
Xuất lượng tử hóa
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Dynamic INT8: int8 weights, FP32 activations - no calibration data needed
model.export(format="litert", quantize="w8a32")  # creates 'yolo26n_w8a32.tflite'

# Static INT8: int8 weights + int8 activations - needs calibration data
model.export(format="litert", quantize=8, data="coco8.yaml")  # creates 'yolo26n_int8.tflite'

# Static w8a16: int8 weights + int16 activations (higher accuracy) - needs calibration data
model.export(format="litert", quantize="w8a16", data="coco8.yaml")  # creates 'yolo26n_w8a16.tflite'
Dự đoán (Predict)
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Xác thực
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionĐối số xuất#

Đối sốLoạiMặc địnhMô tả
formatstr'litert'Định dạng đích cho model được xuất, xác định khả năng tương thích với các môi trường triển khai khác nhau.
imgszint hoặc tuple640Kích thước hình ảnh mong muốn cho đầu vào của model. Có thể là một số nguyên cho hình ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể.
quantizeint hoặc strNoneQuantization precision: 8 (static INT8, int8 weights + int8 activations; needs calibration data/fraction), 'w8a16' (static, int8 weights + int16 activations; needs calibration data/fraction), 'w8a32' (dynamic INT8, int8 weights + FP32 activations; no calibration needed), or 32/unset (FP32). FP16 is not exported separately (see note below). Replaces the deprecated half/int8 flags.
batchint1Chỉ định kích thước batch inference của model khi xuất hoặc số lượng ảnh tối đa mà model đã xuất sẽ xử lý đồng thời ở chế độ predict.
datastr'coco8.yaml'Dataset YAML được sử dụng để hiệu chuẩn INT8. Nếu bỏ qua với quantize=8, Ultralytics sẽ chọn dataset hiệu chuẩn mặc định cho tác vụ của model.
devicestrNoneChỉ định thiết bị để xuất. Xuất LiteRT chạy trên CPU (device=cpu).
Độ chính xác FP16

Không giống như định dạng xuất tflite cũ, LiteRT không yêu cầu xuất FP16 riêng biệt. Một model .tflite FP32 sẽ chạy ở độ chính xác bán phần (half precision) tại runtime khi sử dụng delegate GPU (WebGPU, OpenCL, Metal) — đây là cách tiếp cận chính thức của LiteRT đối với suy luận FP16.

Để biết thêm chi tiết về quy trình xuất, hãy truy cập trang tài liệu của Ultralytics về việc xuất.

Link to this sectionTriển khai các model YOLO LiteRT đã xuất#

Sau khi xuất model Ultralytics YOLO của bạn sang LiteRT, bạn có thể triển khai nó trên nhiều nền tảng. Cách nhanh nhất để xác minh cục bộ là sử dụng phương thức YOLO("yolo26n.tflite") được hiển thị ở trên. Để triển khai trong các môi trường khác, hãy xem các tài nguyên sau:

Link to this sectionDi động & Nhúng#

  • Android: Hướng dẫn bắt đầu nhanh để tích hợp LiteRT vào các ứng dụng Android.
  • iOS: Hướng dẫn tích hợp và triển khai các model LiteRT trong các ứng dụng iOS.
  • Linux nhúng & Raspberry Pi: Chạy các model LiteRT trên máy tính bo mạch đơn, có thể được tăng tốc tùy chọn bằng Coral Edge TPU.
  • Vi điều khiển: Triển khai trên các MCU chỉ có vài kilobyte bộ nhớ — runtime cốt lõi chiếm khoảng 16 KB trên Arm Cortex-M3.

Link to this sectionTrình duyệt & Node.js (LiteRT.js)#

  • Tổng quan về LiteRT.js: Chạy cùng một model .tflite trực tiếp trong trình duyệt với khả năng tăng tốc WebGPU/WASM, giúp loại bỏ tính toán phía server và giữ dữ liệu trên thiết bị của người dùng.
  • Các ví dụ toàn diện: Các ví dụ thực tế và bài hướng dẫn để triển khai LiteRT trên di động, edge và web.

Link to this sectionTóm tắt#

Trong hướng dẫn này, chúng tôi đã đề cập cách xuất các model Ultralytics YOLO sang định dạng LiteRT. Bằng cách hợp nhất triển khai di động/edge (trước đây là TFLite) và trình duyệt (trước đây là TF.js) vào một model .tflite duy nhất, LiteRT làm cho các model YOLO của bạn nhanh hơn, nhỏ hơn và linh hoạt trên hầu hết mọi mục tiêu trên thiết bị.

Để biết thêm chi tiết, hãy truy cập tài liệu chính thức của LiteRT.

Ngoài ra, nếu bạn tò mò về các tích hợp Ultralytics YOLO khác, hãy xem trang hướng dẫn tích hợp của chúng tôi để có nhiều tài nguyên hữu ích.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế nào để xuất một model YOLO sang định dạng LiteRT?#

Sử dụng thư viện Ultralytics để xuất một model YOLO sang LiteRT (.tflite). Đầu tiên, hãy cài đặt gói:

pip install ultralytics

Sau đó xuất model của bạn:

from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to LiteRT format
model.export(format="litert")  # creates 'yolo26n.tflite'

Đối với người dùng CLI:

yolo export model=yolo26n.pt format=litert # creates 'yolo26n.tflite'

Để biết thêm chi tiết, hãy truy cập hướng dẫn xuất Ultralytics.

Link to this sectionSự khác biệt giữa LiteRT, TFLite và TF.js là gì?#

LiteRT là tên gọi mới của TensorFlow Lite — cùng định dạng model .tflite, cùng dòng runtime, được Google đổi thương hiệu. Trong Ultralytics, định dạng xuất litert duy nhất hiện bao gồm cả hai trường hợp sử dụng trước đây yêu cầu hai định dạng riêng biệt:

  • Định dạng tflite cũ → triển khai di động, nhúng và edge.
  • Định dạng tfjs cũ → triển khai trên trình duyệt và Node.js, nay được xử lý bởi LiteRT.js chạy cùng tệp .tflite đó.

Nếu bạn đã có sẵn tệp .tflite, bạn có thể tải nó trực tiếp với YOLO("model.tflite") và nó sẽ chạy qua backend của LiteRT.

Link to this sectionTôi có thể chạy các model YOLO LiteRT trên Raspberry Pi không?#

Có. Xuất model của bạn sang định dạng LiteRT, sau đó chạy nó trên Raspberry Pi để cải thiện tốc độ suy luận. Để tối ưu hóa hơn nữa, hãy cân nhắc sử dụng Coral Edge TPU. Để biết các bước chi tiết, hãy tham khảo hướng dẫn triển khai trên Raspberry Pi của chúng tôi.

Link to this sectionTôi có thể chạy các model YOLO trong trình duyệt với LiteRT không?#

Có. LiteRT.js chạy cùng model .tflite đã xuất trực tiếp trong trình duyệt web hoặc ứng dụng Node.js, với khả năng tăng tốc WebGPU/WASM. Điều này thay thế quy trình TensorFlow.js trước đây — không cần xuất trình duyệt riêng, chỉ cần triển khai model LiteRT của bạn với runtime LiteRT.js.

Link to this sectionLiteRT có hỗ trợ suy luận FP16 (độ chính xác bán phần) không?#

Có — tại runtime. Một model LiteRT FP32 tự động chạy ở FP16 khi được thực thi trên delegate GPU (WebGPU, OpenCL hoặc Metal), đây là cách tiếp cận chính thức của LiteRT. Do đó, bạn không cần xuất FP16 chuyên dụng; để nén thêm, hãy sử dụng lượng tử hóa INT8 với quantize=8.

Link to this sectionLàm thế nào để khắc phục các sự cố thường gặp trong quá trình xuất LiteRT?#

Nếu bạn gặp lỗi khi xuất các model YOLO sang LiteRT, các giải pháp phổ biến bao gồm:

  • Kiểm tra nền tảng: Xuất LiteRT được hỗ trợ trên Linux x86_64 và macOS. Xác minh xem môi trường của bạn có khớp không.
  • Kiểm tra tính tương thích của gói: Đảm bảo bạn đang sử dụng phiên bản Ultralytics tương thích. Tham khảo hướng dẫn cài đặt của chúng tôi.
  • Các vấn đề về lượng tử hóa: Khi sử dụng lượng tử hóa INT8, hãy đảm bảo đường dẫn tập dữ liệu của bạn được chỉ định chính xác trong tham số data.

Để biết thêm các mẹo khắc phục sự cố, hãy truy cập Hướng dẫn Vấn đề Thường gặp của chúng tôi.

Người đóng góp

Bình luận