Xuất sang định dạng mô hình TF.js từ định dạng mô hình YOLO26
Việc triển khai các mô hình machine learning trực tiếp trên trình duyệt hoặc Node.js có thể khá phức tạp. Bạn cần đảm bảo định dạng mô hình của mình được tối ưu hóa để có hiệu suất nhanh hơn, giúp mô hình 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 mô hình 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 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 object detection tốc độ cao và 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 mô hình sang định dạng TF.js, giúp mô hình của bạn hoạt động hiệu quả hơn trên nhiều trình duyệt cục bộ và các ứng dụng Node.js.
Tại sao bạn nên xuất sang TF.js?
Xuất mô hình machine learning 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 ích cho việc triển khai các ứng dụng machine learning. 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 trên thiết bị. Hình ảnh dưới đây minh họa kiến trúc TensorFlow.js và cách các mô hình machine learning được chuyển đổi và triển khai trên cả trình duyệt web lẫn Node.js.
Chạy mô hình cục bộ cũng giúp giảm độ trễ và mang lại trải nghiệm người dùng phản hồi tốt hơn. TensorFlow.js cũng đi kèm với các khả 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 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ó giú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ư native, và WebGPU cho các khả năng machine learning nâng cao trên trình duyệt.
-
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 quy trình xuất mô hình YOLO26 sang định dạng TF.js, hãy khám phá một số kịch bản triển khai điển hình nơi định dạng này được sử dụng.
TF.js cung cấp hàng loạt tùy chọn để triển khai các mô hình 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 mô hình machine learning 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 machine learning phía máy chủ. Điều này đặc biệt hữu ích cho các ứng dụng yêu cầu 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ủ.
-
Chrome Extensions: Một kịch bản triển khai thú vị là tạo các Chrome extensions 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ột 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 tức thời hoặc tăng cường dựa trên machine learning.
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 yêu cầu, 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 thực hành tốt nhất liên quan đến quy 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 gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn về các vấn đề phổ biến để tìm giải pháp và mẹo xử lý.
Cách sử dụng
Tất cả các mô hình Ultralytics YOLO26 đều được thiết kế để hỗ trợ xuất ngay lập tức, giúp dễ dàng tích hợp chúng vào quy trình triển khai ưa thích của bạ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 tốt nhất cho ứng dụng của mình.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Các đối số Xuất
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'tfjs' | Định dạng mục tiêu cho model đã 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. |
imgsz | int hoặc tuple | 640 | Kí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ể. |
half | bool | False | Kích hoạt lượng tử hóa FP16 (độ chính xác một nửa), giảm kích thước model và có khả năng tăng tốc suy luận trên phần cứng được hỗ trợ. |
int8 | bool | False | Kích hoạt lượng tử hóa INT8, nén model thêm nữa và tăng tốc suy luận với mức giảm độ chính xác tối thiểu, chủ yếu cho các thiết bị biên. |
nms | bool | False | Thêm Non-Maximum Suppression (NMS), cần thiết cho việc hậu xử lý phát hiện chính xác và hiệu quả. |
batch | int | 1 | Chỉ định kích thước suy luận batch của model xuất hoặc số lượng ảnh tối đa mà model xuất sẽ xử lý đồng thời ở chế độ predict. |
data | str | 'coco8.yaml' | Đường dẫn đến tệp cấu hình dataset (mặc định: coco8.yaml), rất cần thiết cho việc lượng tử hóa (quantization). |
fraction | float | 1.0 | Chỉ định phần trăm dataset cần 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 con của toàn bộ dataset, hữu ích cho các thử nghiệm hoặc khi tài nguyên bị 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. |
device | str | None | Chỉ định thiết bị để xuất: 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 các mô hình YOLO26 TensorFlow.js đã xuất
Bây giờ bạn đã xuất mô hình YOLO26 sang định dạng TF.js, bước tiếp theo là triển khai nó. Bước đầu tiên quan trọng và được khuyến nghị để chạy mô hình TF.js là sử dụng phương thức YOLO("./yolo26n_web_model"), như đã hiển thị trong đoạn mã sử dụng trước đó.
Tuy nhiên, để có hướng dẫn chuyên sâu về việc triển khai các mô hình TF.js của bạn, hãy xem qua các tài nguyên sau:
-
Chrome Extension: Đây là tài liệu dành cho nhà phát triển về cách triển khai các mô hình TF.js của bạn vào một Chrome extension.
-
Chạy TensorFlow.js trong Node.js: Một bài viết trên blog của TensorFlow về cách chạy TensorFlow.js trực tiếp trong Node.js.
-
Triển khai TensorFlow.js - Dự án Node trên nền tảng đám mây: Một bài viết trên blog của TensorFlow về cách triển khai mô hình TensorFlow.js trên Cloud Platform.
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 chứa đầy các 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 (FAQ)
Làm cách nào để tôi xuất các mô hình Ultralytics YOLO26 sang định dạng TensorFlow.js?
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:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Để 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.
Tại sao tôi nên xuất các mô hình YOLO26 của mình sang TensorFlow.js?
Việc xuất các mô hình YOLO26 sang TensorFlow.js mang lại một số lợi ích, bao gồm:
- 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.
- Hỗ trợ đa nền tảng: TF.js hỗ trợ nhiều môi trường, cho phép sự linh hoạt trong việc triển khai.
- 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 tính ổn định và riêng tư.
- 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ế.
Để có cái nhìn tổng quan toàn diện, hãy xem Tích hợp với TensorFlow.js của chúng tôi.
TensorFlow.js mang lại lợi ích gì cho các ứng dụng machine learning trên trình duyệt?
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. Đây là cách nó mang lại lợi ích cho các ứng dụng trên trình duyệt:
- Giảm độ trễ: Chạy các mô hình machine learning cục bộ, cung cấp kết quả tức thì mà không phụ thuộc vào các tính toán 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 các 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 của TensorFlow.js.
Các tính năng chính của TensorFlow.js để triển khai các mô hình YOLO26 là gì?
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, cung cấp khả năng linh hoạt triển khai rộng rãi.
- 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, rất lý tưởng để phát triển các ứng dụng web có khả năng 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ủa chúng tôi.
Tôi có thể triển khai mô hình YOLO26 trên các ứng dụng Node.js phía máy chủ bằng TensorFlow.js không?
Có, TensorFlow.js cho phép triển khai các mô hình YOLO26 trên môi trường Node.js. Điều này cho phép các ứng dụng machine learning 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 pipeline machine learning trên máy chủ backend.
Để bắt đầu với việc triển khai trên Node.js, hãy tham khảo hướng dẫn Chạy TensorFlow.js trong Node.js từ TensorFlow.