YOLO Vision 2026:

Xuất sang định dạng mô hình TF.js từ định dạng mô hình YOLO26#

Đã lỗi thời — được thay thế bằng LiteRT

Kể từ Ultralytics 8.4.83, định dạng xuất tfjs (TensorFlow.js) đã bị xóa và thay thế bằng định dạng Google LiteRT đồng 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) — đáp ứng các trường hợp sử dụng trên trình duyệt và Node.js mà TF.js từng xử lý, bên cạnh thiết bị di động, nhúng và biên, từ một mô hình .tflite duy nhất.

format="tfjs" vẫn hoạt động nhưng sẽ đưa ra cảnh báo lỗi thời và thay vào đó xuất ra một mô hình LiteRT. Hãy sử dụng format="litert" trong các phiên bản tới; để biết hướng dẫn xuất hiện tại và đường dẫn triển khai trên trình duyệt, hãy xem hướng dẫn xuất LiteRT.

Việc triển khai các mô hình học máy trực tiếp trên trình duyệt hoặc trên Node.js có thể phức tạp. Bạn sẽ cần đảm bảo rằng định dạng mô hình của mình được tối ưu hóa để có hiệu suất nhanh hơn nhằm có thể sử dụng mô hình 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 mô hình TensorFlow.js, hay TF.js, được thiết kế để sử dụng năng lượng tối thiểu đồng thời mang lại hiệu suất nhanh chóng.

Tính năng 'xuất sang định dạng mô hình TF.js' cho phép bạn tối ưu hóa các mô hình Ultralytics YOLO26 của mình để suy luận phát hiện đối tượng tốc độ cao và chạy cục bộ. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình chuyển đổi mô hình sang định dạng TF.js, giúp mô hình của bạn hoạt động tốt hơn trên các trình duyệt cục bộ và ứng dụng Node.js khác nhau.

Tại sao bạn nên xuất sang TF.js?#

Việc xuất các mô hình học máy của bạn sang TensorFlow.js, vốn đượ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 thế khi triển khai các ứng dụng học máy. Nó 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 ngay trên thiết bị. Hình ảnh bên dưới minh họa kiến trúc TensorFlow.js, cũng như cách các mô hình học máy được chuyển đổi và triển khai trên cả trình duyệt web và Node.js.

TensorFlow.js browser ML inference architecture

Việc chạy mô hình 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 đi kèm với các tính năng ngoại tuyến, cho phép người dùng sử dụng ứng dụng của bạn 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 mô hình phức tạp trên các thiết bị có tài nguyên hạn chế vì nó được tối ưu hóa cho khả năng mở rộng, với sự 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 khiến TF.js trở thành một công cụ mạnh mẽ cho các nhà phát triển:

  • 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 các nền tảng khác nhau. Nó cho phép các 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 như tự nhiên, và WebGPU cho các khả năng học máy trên trình duyệt tiên tiến.

  • Khả năng ngoại tuyến: Với TensorFlow.js, các mô hình có thể chạy trong trình duyệt mà không cần kết nối internet, giúp việc phát triển các ứng dụng có chức năng hoạt động ngoại tuyến trở nên khả thi.

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

Trước khi đi sâu vào quá trình xuất các mô hình YOLO26 sang định dạng TF.js, hãy cùng khám phá một số kịch bản triển khai điển hình mà định dạng này được sử dụng.

TF.js cung cấp một loạt các tùy chọn để triển khai các mô hình học máy của bạn:

  • Ứng dụng học máy trong trình duyệt: Bạn có thể xây dựng các ứng dụng web chạy mô hình học máy trực tiếp trong trình duyệt. Nhu cầu tính toán phía máy chủ được loại bỏ và tải trọng máy chủ được giảm bớt.

  • Ứ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 học máy phía máy chủ. Điều này đặc biệt hữu ích cho các ứng dụng đòi hỏi sức mạnh xử lý của máy chủ hoặc quyền truy cập vào dữ liệu phía máy chủ.

  • Tiện ích mở rộng Chrome: Một kịch bản triển khai thú vị là tạo các tiện ích mở rộng Chrome với TensorFlow.js. Ví dụ: bạn có thể phát triển một tiện ích cho phép người dùng nhấp chuột phải vào một hình ảnh trên bất kỳ trang web nào để phân loại nó bằng mô hình ML đã được huấn luyện trước. 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 bổ sung dựa trên học máy ngay lập tức.

Xuất mô hình YOLO26 sang TensorFlow.js#

Bạn có thể mở rộng khả năng tương thích của mô hình và sự linh hoạt trong triển khai bằng cách chuyển đổi các mô hình YOLO26 sang TF.js.

Cài đặt#

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

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

Để biết hướng dẫn chi tiết và các thực tiễn tốt nhất liên quan đến quá trình cài đặt, hãy xem Hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong quá trình cài đặt các gói cần thiết cho YOLO26, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo Hướng dẫn các Vấn đề Thường gặp của chúng tôi để tìm giải pháp và mẹo.

Cách sử dụng#

Tất cả các Ultralytics YOLO26 models đều được thiết kế để hỗ trợ xuất ngay khi sử dụng, giúp bạn dễ dàng tích hợp chúng vào quy trình làm việc triển khai ưa thích của mình. Bạn có thể view the full list of supported export formats and configuration options để chọn thiết lập tốt nhất cho ứng dụng của mình.

Tham số tfjs hiện xuất ra một mô hình .tflite LiteRT, hỗ trợ các chế độ Xuất, Dự đoán, và Xác thực cục bộ và chạy trong trình duyệt thông qua LiteRT.js. Xem hướng dẫn xuất LiteRT để biết đường dẫn triển khai trên trình duyệt và trên thiết bị hiện tại.

Xuất (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
Dự đoán (Predict) và Xác thực (Validate)

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

Đối số xuất#

Đối sốLoạiMặc địnhMô tả
formatstr'tfjs'Đị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 ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho ả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 + kích hoạt int8; cần hiệu chuẩn data/fraction), 'w8a16' (tĩnh, trọng số int8 + kích hoạt int16; cần hiệu chuẩn data/fraction), 'w8a32' (INT8 động, trọng số int8 + kích hoạt FP32; không cần hiệu chuẩn), hoặc 32/không đặt (FP32). FP16 không được xuất riêng biệt — model FP32 chạy ở FP16 tự động trên các delegate GPU. Thay thế các cờ half/int8 đã bị ngừng hỗ trợ.
batchint1Chỉ định kích thước suy luận hàng loạt của mô hình xuất hoặc số lượng ảnh tối đa mà mô hình xuất sẽ xử lý đồng thời ở chế độ predict.
datastrNoneĐường dẫn đến YAML dataset, rất cần thiết cho việc lượng tử hóa; phân loại (classification) thay vào đó sẽ nhận một thư mục dataset hoặc tên dataset tích hợp sẵn. Nếu bỏ qua với quantize=8 hoặc 'w8a16', Ultralytics sẽ chọn dataset hiệu chuẩn mặc định cho tác vụ mô hình.
fractionfloat1.0Chỉ định phân đoạn của dataset để sử dụng cho hiệu chuẩn lượng tử hóa INT8. Cho phép hiệu chuẩn trên một tập hợp con của toàn bộ dataset, hữu ích cho các thử nghiệm hoặc khi tài nguyên hạn chế. Nếu không được chỉ định trong khi INT8 đã được bật, toàn bộ dataset sẽ được sử dụng.
devicestrNoneChỉ định thiết bị để xuất: CPU (device=cpu), MPS cho Apple silicon (device=mps).

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

Triển khai các mô hình TensorFlow.js YOLO26 đã xuất#

Bây giờ bạn đã xuất mô hình YOLO26 của mình, bước tiếp theo là triển khai nó. Quá trình xuất tạo ra một mô hình .tflite LiteRT chạy trên thiết bị và trong trình duyệt thông qua LiteRT.js — hãy xem hướng dẫn xuất LiteRT để biết đường dẫn hiện tại.

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

Tóm tắt#

Trong hướng dẫn này, chúng ta đã tìm hiểu cách xuất các mô hình 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 hóa, triển khai và mở rộng quy mô các mô hình YOLO26 của mình trên nhiều nền tảng khác nhau.

Để 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 qua trang hướng dẫn tích hợp của chúng tôi. Trang này có rất nhiều tài nguyên tuyệt vời giúp bạn tận dụng tối đa YOLO26 trong các dự án của mình.

Câu hỏi thường gặp#

  • Việc xuất các mô hình 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ụ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 xuất được hỗ trợ, hãy truy cập trang tài liệu của Ultralytics về các tùy chọn triển khai.

  • Việc xuất các mô hình YOLO26 sang TensorFlow.js mang lại nhiều ưu điểm, bao gồm:

    1. Thực thi cục bộ: Các mô hình có thể chạy trực tiếp trong trình duyệt hoặc Node.js, giảm độ trễ và nâng cao 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 trong quá trình triển khai.
    3. Khả năng ngoại tuyến: Cho phép các ứ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 hóa hiệu suất 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 mô hình ML trong trình duyệt và môi trường Node.js. Dưới đây là cách nó mang lại lợi ích cho các ứng dụng dựa trên trình duyệt:

    • Giảm độ trễ: Chạy các mô hình học máy cục bộ, cung cấp kết quả tức thì mà không cần dựa vào các phép tính phía máy chủ.
    • 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.
    • Cho phép sử dụng ngoại tuyến: Các mô hình 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: Cung cấp sự linh hoạt với các backend như CPU, WebGL, WebAssembly (WASM), và WebGPU cho các 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 về TensorFlow.js.

  • 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 sự linh hoạt rộng rãi khi triển khai.
    • Nhiều backend: Hỗ trợ CPU, WebGL để tăng tốc GPU, WebAssembly (WASM), và WebGPU cho các hoạt động nâng cao.
    • Khả năng ngoại tuyến: Các mô hình có thể chạy trực tiếp trong trình duyệt mà không cần kết nối internet, khiến nó trở nên lý tưởng để phát triển các ứng dụng web nhạy bén.

    Đối với các kịch bản triển khai và thông tin chi tiết hơn, hãy xem phần của chúng tôi về Tùy chọn triển khai với TensorFlow.js.

  • Có, TensorFlow.js cho phép triển khai các mô hình YOLO26 trong môi trường Node.js. Điều này cho phép xây dựng các ứng dụng học máy phía máy chủ được hưởng lợi từ sức mạnh xử lý của máy chủ và quyền truy cập vào dữ liệu phía máy chủ. Các trường hợp sử dụng điển hình bao gồm xử lý dữ liệu thời gian thực và các đường ống học máy trên các máy chủ backend.

    Để bắt đầu với việc triển khai Node.js, hãy tham khảo hướng dẫn Chạy TensorFlow.js trong Node.js từ TensorFlow.

Bình luận