Xuất model YOLO26 sang định dạng TF.js từ định dạng model YOLO26#
Kể từ Ultralytics 8.4.83, định dạng xuất tfjs (TensorFlow\.js) đã bị loại bỏ và thay bằng định dạng Google LiteRT hợp nhất. LiteRT chạy trên trình duyệt thông qua LiteRT.js (với tăng tốc WebGPU) — hỗ trợ các trường hợp sử dụng trên trình duyệt và Node.js mà TF.js từng đảm nhiệm, đồng thời hỗ trợ thiết bị di động, nhúng và edge, tất cả từ một model .tflite duy nhất.
format="tfjs" vẫn hoạt động nhưng phát cảnh báo ngừng hỗ trợ và thay vào đó xuất model LiteRT. Từ nay hãy dùng format="litert"; xem hướng dẫn xuất LiteRT để biết hướng dẫn xuất mới nhất và cách triển khai trên trình duyệt.
Việc triển khai model machine learning trực tiếp trên trình duyệt hoặc Node.js có thể phức tạp. Bạn cần đảm bảo định dạng model được tối ưu để đạt hiệu năng cao hơn, nhờ đó model có thể chạy các ứng dụng tương tác ngay trên thiết bị của người dùng. Định dạng model TensorFlow\.js, hay TF.js, được thiết kế để tiêu thụ ít tài nguyên mà vẫn mang lại hiệu năng cao.
Tính năng “xuất sang định dạng model TF.js” cho phép bạn tối ưu model Ultralytics YOLO26 để suy luận phát hiện đối tượng tốc độ cao, chạy cục bộ. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách chuyển đổi model sang định dạng TF.js, giúp model hoạt động hiệu quả hơn trên nhiều trình duyệt cục bộ và ứng dụng Node.js.
Tại sao nên xuất sang TF.js?#
Việc xuất model machine learning sang TensorFlow\.js, do nhóm TensorFlow phát triển như một phần của hệ sinh thái TensorFlow rộng lớn hơn, mang lại nhiều lợi ích khi triển khai ứng dụng machine learning. Cách này giúp tăng cường quyền riêng tư và bảo mật cho người dùng bằng cách giữ dữ liệu nhạy cảm trên thiết bị. Hình bên dưới minh họa kiến trúc TensorFlow\.js và cách chuyển đổi, triển khai model machine learning trên cả trình duyệt web lẫn Node.js.
Chạy model cục bộ cũng giảm độ trễ và mang lại trải nghiệm phản hồi nhanh hơn cho người dùng. TensorFlow.js cũng hỗ trợ hoạt động ngoại tuyến, cho phép người dùng sử dụng ứng dụng ngay cả khi không có kết nối internet. TF.js được thiết kế để thực thi hiệu quả các model phức tạp trên thiết bị có tài nguyên hạn chế, đồng thời có khả năng mở rộng và hỗ trợ tăng tốc GPU.
Các tính năng chính của TF.js#
Sau đây là những tính năng chính giúp TF.js trở thành công cụ mạnh mẽ dành cho nhà phát triển:
-
Hỗ trợ đa nền tảng: Có thể sử dụng TensorFlow\.js trong cả trình duyệt và môi trường Node.js, mang lại sự linh hoạt khi triển khai trên các nền tảng khác nhau. Công cụ này giúp nhà phát triển xây dựng và triển khai ứng dụng dễ dàng hơn.
-
Hỗ trợ nhiều backend: TensorFlow\.js hỗ trợ nhiều backend tính toán, bao gồm CPU, WebGL để tăng tốc GPU, WebAssembly (WASM) cho tốc độ thực thi gần mức native và WebGPU cho các khả năng machine learning nâng cao trên trình duyệt.
-
Khả năng hoạt động ngoại tuyến: Với TensorFlow\.js, model có thể chạy trên trình duyệt mà không cần kết nối internet, cho phép phát triển ứng dụng vẫn hoạt động khi ngoại tuyến.
Các tùy chọn triển khai với TensorFlow\.js#
Trước khi tìm hiểu quy trình xuất model YOLO26 sang định dạng TF.js, hãy cùng xem một số tình huống triển khai phổ biến sử dụng định dạng này.
TF.js cung cấp nhiều tùy chọn để triển khai model machine learning:
-
Ứng dụng ML chạy trên trình duyệt: Bạn có thể xây dựng ứng dụng web chạy model machine learning trực tiếp trên trình duyệt. Cách này loại bỏ nhu cầu tính toán phía server và giảm tải cho server.
-
Ứng dụng Node.js: TensorFlow\.js cũng hỗ trợ triển khai trong môi trường Node.js, cho phép phát triển ứng dụng machine learning phía server. Tính năng này đặc biệt hữu ích với ứng dụng cần năng lực xử lý của server hoặc cần truy cập dữ liệu phía server.
-
Tiện ích mở rộng Chrome: Một tình huống triển khai thú vị là tạo tiện ích mở rộng Chrome bằng TensorFlow\.js. Chẳng hạn, bạn có thể phát triển tiện ích cho phép người dùng nhấp chuột phải vào ảnh trên bất kỳ trang web nào để phân loại ảnh bằng model ML đã huấn luyện trước. Có thể tích hợp TensorFlow\.js vào trải nghiệm duyệt web hằng ngày để cung cấp thông tin hữu ích hoặc tính năng tăng cường tức thì dựa trên machine learning.
Xuất model YOLO26 sang TensorFlow\.js#
Bạn có thể mở rộng khả năng tương thích và tính linh hoạt khi triển khai model bằng cách chuyển đổi model YOLO26 sang TF.js.
Cài đặt#
Để cài đặt package cần thiết, hãy chạy:
# Install the required package for YOLO26
pip install ultralyticsĐể biết hướng dẫn chi tiết và các phương pháp tốt nhất về quy trình cài đặt, hãy xem hướng dẫn cài đặt Ultralytics. Nếu gặp khó khăn khi cài đặt các package cần thiết cho YOLO26, hãy tham khảo hướng dẫn khắc phục sự cố thường gặp để tìm giải pháp và mẹo hữu ích.
Cách sử dụng#
Tất cả model Ultralytics YOLO26 đều được thiết kế để hỗ trợ xuất ngay từ đầu, giúp bạn dễ dàng tích hợp chúng vào quy trình triển khai mong muốn. Bạn có thể xem danh sách đầy đủ các định dạng xuất được hỗ trợ và tùy chọn cấu hình để chọn thiết lập phù hợp nhất cho ứng dụng.
Đối số tfjs hiện xuất model .tflite dạng LiteRT, hỗ trợ các chế độ Xuất, Dự đoán và Đánh giá cục bộ, đồng thời chạy trên trình duyệt thông qua LiteRT.js. Xem hướng dẫn xuất LiteRT để biết cách triển khai mới nhất trên trình duyệt và thiết bị.
from ultralytics import YOLO
# Nạp model YOLO26
model = YOLO("yolo26n.pt")
# Xuất model sang định dạng LiteRT (thay thế TF.js)
model.export(format="litert", imgsz=640) # dùng imgsz=224 cho phân loạiModel LiteRT .tflite đã xuất có thể tải trực tiếp bằng yolo predict và yolo val, đồng thời chạy trên trình duyệt thông qua LiteRT.js. Xem hướng dẫn xuất LiteRT.
Các tham số xuất model#
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'litert' | Định dạng đích của model đã xuất; giá trị 'tfjs' không còn được dùng sẽ xuất LiteRT. |
imgsz | int hoặc tuple | 640 | Kích thước ảnh mong muốn cho đầu vào model. Có thể là số nguyên cho ảnh vuông hoặc tuple (height, width) để chỉ định kích thước cụ thể. |
quantize | int hoặc str | None | Độ chính xác lượng tử hóa: 8 (INT8 tĩnh, trọng số int8 + activation int8; cần dữ liệu hiệu chuẩn data/fraction), 'w8a16' (tĩnh, trọng số int8 + activation int16; cần dữ liệu hiệu chuẩn data/fraction), 'w8a32' (INT8 động, trọng số int8 + activation FP32; không cần hiệu chuẩn) hoặc 32/không đặt (FP32). FP16 không được xuất riêng — model FP32 tự động chạy ở FP16 trên GPU delegate. Thay thế các flag half/int8 không còn được dùng. |
batch | int | 1 | Chỉ định kích thước batch suy luận của model khi xuất hoặc số lượng ảnh tối đa mà model đã xuất xử lý đồng thời ở chế độ predict. |
data | str | None | Đường dẫn đến YAML của dataset, cần thiết cho lượng tử hóa; riêng bài toán phân loại sẽ dùng thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu không chỉ định cùng quantize=8 hoặc 'w8a16', Ultralytics sẽ chọn dataset hiệu chuẩn 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 tỷ lệ/số lượng [train, val, test]. Danh sách gồm hai mục giữ test ở dạng đầy đủ, còn 0 sẽ bỏ qua mục này. |
device | str | None | Chỉ định thiết bị dùng để export: CPU (device=cpu), MPS cho Apple silicon (device=mps). |
Để biết thêm chi tiết về quy trình xuất, hãy truy cập trang tài liệu Ultralytics về xuất model.
Triển khai model YOLO26 TensorFlow\.js đã xuất#
Sau khi xuất model YOLO26, bước tiếp theo là triển khai model. Quá trình xuất tạo ra model .tflite dạng LiteRT, có thể chạy trên thiết bị và trong trình duyệt thông qua LiteRT.js — xem hướng dẫn xuất LiteRT để biết quy trình hiện tại.
Để tham khảo, dưới đây là các tài nguyên runtime TensorFlow\.js cũ:
-
Tiện ích mở rộng Chrome: Đây là tài liệu dành cho nhà phát triển hướng dẫn cách triển khai model TF.js dưới dạng tiện ích mở rộng Chrome.
-
Chạy TensorFlow.js trong Node.js: Bài đăng trên blog TensorFlow hướng dẫn chạy trực tiếp TensorFlow\.js trong Node.js.
-
Triển khai TensorFlow.js - Dự án Node trên nền tảng Cloud: Bài đăng trên blog TensorFlow về triển khai model TensorFlow\.js trên nền tảng Cloud.
Tóm tắt#
Trong hướng dẫn này, chúng ta đã tìm hiểu cách xuất model Ultralytics YOLO26 sang định dạng TensorFlow\.js. Việc xuất sang TF.js giúp bạn linh hoạt tối ưu hóa, triển khai và mở rộng quy mô model YOLO26 trên nhiều nền tảng.
Để biết thêm chi tiết về cách sử dụng, hãy xem tài liệu chính thức của TensorFlow.js.
Để biết thêm thông tin về cách tích hợp Ultralytics YOLO26 với các nền tảng và framework khác, đừng quên xem trang hướng dẫn tích hợp của chúng tôi. Trang này có nhiều tài nguyên hữu ích giúp bạn khai thác tối đa YOLO26 trong các dự án.
Câu hỏi thường gặp#
Việc xuất model Ultralytics YOLO26 sang định dạng TensorFlow\.js (TF.js) rất đơn giản. Bạn có thể làm theo các bước sau:
Cách sử dụngfrom ultralytics import YOLO # Nạp model YOLO26 model = YOLO("yolo26n.pt") # Xuất model sang định dạng LiteRT (thay thế TF.js) model.export(format="litert", imgsz=640) # dùng imgsz=224 cho phân loại # Model '.tflite' đã xuất chạy trên trình duyệt thông qua LiteRT.js hoặc chạy cục bộ bằng yolo predict/val.Để biết thêm chi tiết về các tùy chọn xuất được hỗ trợ, hãy truy cập trang tài liệu Ultralytics về các tùy chọn triển khai.
Xuất model YOLO26 sang TensorFlow\.js mang lại một số lợi ích, bao gồm:
- Thực thi cục bộ: Model có thể chạy trực tiếp trên trình duyệt hoặc Node.js, giảm độ trễ và nâng cao trải nghiệm người dùng.
- Hỗ trợ đa nền tảng: TF.js hỗ trợ nhiều môi trường, mang lại sự linh hoạt khi triển khai.
- Khả năng hoạt động ngoại tuyến: Cho phép ứng dụng hoạt động mà không cần kết nối internet, đảm bảo độ tin cậy và quyền riêng tư.
- Tăng tốc GPU: Tận dụng WebGL để tăng tốc GPU, tối ưu hiệu năng trên thiết bị có tài nguyên hạn chế.
TensorFlow\.js được thiết kế chuyên biệt để thực thi hiệu quả model ML trong trình duyệt và môi trường Node.js. Dưới đây là những lợi ích của TensorFlow\.js đối với ứng dụng chạy trên trình duyệt:
- Giảm độ trễ: Chạy model machine learning cục bộ, cho kết quả tức thì mà không phụ thuộc vào tính toán phía server.
- Tăng cường quyền riêng tư: Giữ dữ liệu nhạy cảm trên thiết bị của người dùng, giảm thiểu rủi ro bảo mật.
- Hỗ trợ sử dụng ngoại tuyến: Model có thể hoạt động mà không cần kết nối internet, đảm bảo chức năng ổn định.
- Hỗ trợ nhiều backend: Mang lại sự linh hoạt với các backend như CPU, WebGL, WebAssembly (WASM) và WebGPU để đáp ứng nhiều nhu cầu tính toán khác nhau.
Bạn muốn tìm hiểu thêm về TF.js? Hãy xem hướng dẫn chính thức của TensorFlow.js.
Các tính năng chính của TensorFlow\.js bao gồm:
- Hỗ trợ đa nền tảng: Có thể sử dụng TF.js trên cả trình duyệt web và Node.js, mang lại tính linh hoạt cao trong triển khai.
- Nhiều backend: Hỗ trợ CPU, WebGL để tăng tốc GPU, WebAssembly (WASM) và WebGPU cho các tác vụ nâng cao.
- Khả năng hoạt động ngoại tuyến: Model có thể chạy trực tiếp trên trình duyệt mà không cần kết nối internet, rất phù hợp để phát triển ứng dụng web có khả năng phản hồi nhanh.
Để tìm hiểu các tình huống triển khai và thông tin chuyên sâu hơn, hãy xem phần Các tùy chọn triển khai với TensorFlow.js của chúng tôi.
Có, TensorFlow\.js cho phép triển khai model YOLO26 trong môi trường Node.js. Điều này hỗ trợ xây dựng ứng dụng machine learning phía server, tận dụng năng lực xử lý của server và khả năng truy cập dữ liệu phía server. Các trường hợp sử dụng phổ biến bao gồm xử lý dữ liệu thời gian thực và pipeline machine learning trên server backend.
Để bắt đầu triển khai trên Node.js, hãy tham khảo hướng dẫn Chạy TensorFlow.js trong Node.js của TensorFlow.