Ultralytics YOLO27:

Xuất sang Định dạng Model TF.js từ Định dạng Model YOLO26#

Đã ngừng sử dụng — được thay thế bằng LiteRT

Kể từ Ultralytics 8.4.83, định dạng xuất tfjs (TensorFlow.js) đã bị gỡ bỏ và được thay thế bằng định dạng Google LiteRT hợp nhất. LiteRT chạy trong trình duyệt thông qua LiteRT.js (với khả năng tăng tốc WebGPU) — hỗ trợ các trường hợp sử dụng trong trình duyệt và Node.js mà TF.js từng xử lý, cùng với mobile, embedded và edge, từ một model .tflite duy nhất.

format="tfjs" vẫn hoạt động nhưng hiển thị cảnh báo deprecated và thay vào đó xuất một model LiteRT. Từ nay hãy sử dụng format="litert"; để xem hướng dẫn xuất hiện tại và lộ trình triển khai trên trình duyệt, hãy xem hướng dẫn xuất LiteRT.

Triển khai trực tiếp các model machine learning trong trình duyệt hoặc trên Node.js có thể khá 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, ताकि model có thể chạy các ứng dụng tương tác cục bộ trên thiết bị của người dùng. Định dạng model TensorFlow.js, hay TF.js, được thiết kế để sử dụng ít năng lượng trong khi vẫn mang lại hiệu năng nhanh.

Tính năng 'xuất sang định dạng model TF.js' cho phép bạn tối ưu các model Ultralytics YOLO26 để thực hiện inference object detection tốc độ cao và cục bộ. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn 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, được đội ngũ 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 cho việc triển khai các ứng dụng machine learning. Phương thức này giúp tăng cường quyền riêng tư và bảo mật của người dùng bằng cách giữ dữ liệu nhạy cảm trên thiết bị. Hình ảnh dưới đây minh họa kiến trúc TensorFlow.js, cũng như cách các model machine learning được chuyển đổi và triển khai trên cả trình duyệt web lẫn Node.js.

TensorFlow.js browser ML inference architecture

Chạy model cục bộ cũng làm giảm độ trễ và mang lại trải nghiệm người dùng phản hồi nhanh hơn. TensorFlow.js cũng hỗ trợ khả năng hoạt động offline, 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 các thiết bị có tài nguyên hạn chế, đồng thời được xây dựng để 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#

Dưới đây là các tính năng chính giúp TF.js trở thành một công cụ mạnh mẽ dành cho developer:

  • Hỗ trợ đa nền tảng: TensorFlow.js có thể được sử dụng trong cả môi trường trình duyệt và Node.js, mang lại sự linh hoạt khi triển khai trên nhiều nền tảng khác nhau. Công cụ này giúp developer 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 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 offline: Với TensorFlow.js, model có thể chạy trong trình duyệt mà không cần kết nối Internet, giúp phát triển các ứng dụng vẫn hoạt động offline.

Các tùy chọn triển khai với TensorFlow.js#

Trước khi đi vào quy trình xuất model YOLO26 sang định dạng TF.js, hãy cùng tìm hiểu một số kịch bản 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 của bạn:

  • Ứng dụng ML trong trình duyệt: Bạn có thể xây dựng các ứng dụng web chạy model machine learning trực tiếp trong trình duyệt. Điều 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 các ứng dụng machine learning phía server. Tính năng này đặc biệt hữu ích cho các ứng dụng cần năng lực xử lý của server hoặc quyền truy cập vào dữ liệu phía server.

  • Chrome Extensions: Một kịch bản triển khai thú vị là tạo Chrome extension bằng TensorFlow.js. Chẳng hạn, bạn có thể phát triển một extension cho phép người dùng nhấp chuột phải vào hình ảnh trên bất kỳ trang web nào để phân loại hình ảnh bằng một model ML pretrained. TensorFlow.js có thể được tích hợp vào trải nghiệm duyệt web hằng ngày để cung cấp thông tin chi tiết hoặc các tính năng bổ sung 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 của model và tính linh hoạt khi triển khai bằng cách chuyển đổi model YOLO26 sang TF.js.

Cài đặt#

Để cài đặt package bắt buộc, hãy chạy:

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

Để xem hướng dẫn chi tiết và các best practice liên quan đến quy trình cài đặt, hãy tham khảo 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 xem hướng dẫn Các vấn đề Thường gặp để tìm giải pháp và mẹo xử lý.

Cách sử dụng#

Tất cả model Ultralytics YOLO26 đều được thiết kế để hỗ trợ xuất ngay khi cài đặt, giúp dễ dàng tích hợp vào quy trình triển khai mà bạn lựa chọn. Bạn có thể xem danh sách đầy đủ các định dạng xuất và tùy chọn cấu hình được hỗ trợ để chọn thiết lập phù hợp nhất cho ứng dụng của mình.

Đối số tfjs hiện xuất một model .tflite LiteRT, hỗ trợ các mode Export, PredictValidate cục bộ, đồng thời chạy trong trình duyệt thông qua LiteRT.js. Xem hướng dẫn xuất LiteRT để biết lộ trình triển khai hiện tại trên trình duyệt và thiết bị.

Export
from ultralytics import YOLO

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

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
Predict và Validate

Model .tflite LiteRT đã xuất có thể được tải trực tiếp bằng yolo predictyolo val, đồng thời chạy trong trình duyệt thông qua LiteRT.js. Xem hướng dẫn xuất LiteRT.

Đối số Export#

Đối sốKiểuMặc địnhMô tả
formatstr'tfjs'Đị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.
imgszint hoặc tuple640Kí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ể.
quantizeint hoặc strNoneĐộ chính xác lượng tử hóa: 8 (INT8 tĩnh, trọng số int8 + activation int8; cần calibration data/fraction), 'w8a16' (tĩnh, trọng số int8 + activation int16; cần calibration data/fraction), 'w8a32' (INT8 động, trọng số int8 + activation FP32; không cần calibration) hoặc 32/không đặt (FP32). FP16 không được xuất riêng — model FP32 sẽ tự động chạy ở FP16 trên các GPU delegate. Thay thế các flag half/int8 đã ngừng sử dụng.
batchint1Chỉ đị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.
datastrNoneĐường dẫn đến YAML của dataset, bắt buộc cho quá trình lượng tử hóa; với bài toán classification, thay vào đó cần cung cấp thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu bỏ qua cùng với quantize=8 hoặc 'w8a16', Ultralytics sẽ chọn dataset calibration mặc định cho tác vụ của model.
fractionfloat, int hoặc list1.0Tậ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.
devicestrNoneChỉ định thiết bị dùng để xuất: CPU (device=cpu), MPS cho Apple silicon (device=mps).

Để 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.

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 đó. Bản export tạo ra một model .tflite LiteRT 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 lộ trình hiện tại.

Để tham khảo, các tài nguyên runtime TensorFlow.js legacy được liệt kê bên dưới:

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. Bằng cách xuất sang TF.js, bạn có được sự linh hoạt để tối ưu, triển khai và scale 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 truy cập tài liệu chính thức của TensorFlow.js.

Để biết thêm thông tin về việc 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 cung cấp nhiều tài nguyên hữu ích giúp bạn khai thác tối đa YOLO26 trong các project.

FAQ#

  • Việc xuất model Ultralytics YOLO26 sang định dạng TensorFlow.js (TF.js) rất đơn giản. Bạn có thể thực hiện theo các bước sau:

    Cách sử dụng
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF.js format
    model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

    Để biết thêm chi tiết về các tùy chọn export được hỗ trợ, hãy truy cập trang tài liệu Ultralytics về các tùy chọn triển khai.

  • Việc xuất model YOLO26 sang TensorFlow.js mang lại một số lợi ích, bao gồm:

    1. Thực thi cục bộ: Model có thể chạy trực tiếp trong trình duyệt hoặc Node.js, giúp giảm độ trễ và cải thiện trải nghiệm người dùng.
    2. 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.
    3. Khả năng hoạt động offline: 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ư.
    4. Tăng tốc GPU: Tận dụng WebGL để tăng tốc GPU, tối ưu hiệu năng trên các thiết bị có tài nguyên hạn chế.
  • TensorFlow.js được thiết kế đặc biệt để thực thi hiệu quả các model ML trong môi trường trình duyệt và Node.js. Dưới đây là những lợi ích đối với các ứng dụng trên trình duyệt:

    • Giảm độ trễ: Chạy model machine learning cục bộ, cung cấp kết quả tức thì mà không phụ thuộc vào tính toán phía server.
    • Cải thiện 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 offline: 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 cho những 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 TensorFlow.js chính thức.

  • Các tính năng chính của TensorFlow.js bao gồm:

    • Hỗ trợ đa nền tảng: TF.js có thể được sử dụng trong cả trình duyệt web và Node.js, mang lại tính linh hoạt cao khi 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 offline: Model có thể chạy trực tiếp trong trình duyệt mà không cần kết nối Internet, rất phù hợp để phát triển các ứng dụng web phản hồi nhanh.

    Để biết các kịch bản 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ó, TensorFlow.js cho phép triển khai model YOLO26 trong môi trường Node.js. Điều này hỗ trợ các ứng dụng machine learning phía server, tận dụng năng lực xử lý của server và quyền truy cập vào dữ liệu phía server. Các trường hợp sử dụng điển hình bao gồm xử lý dữ liệu theo thời gian thực và các pipeline machine learning trên backend server.

    Để 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.

Bình luận