Chuyển đến nội dung

Xuất sang Định dạng Mô hình TF.js Từ Định dạng Mô hình YOLO11

Việc triển khai các mô hình máy học trực tiếp trên trình duyệt hoặc trên Node.js có thể gặp nhiều khó khăn. 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, nhờ đó mô hình có thể được sử dụng để 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 mức năng lượng tối thiểu 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 YOLO11 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 chuyển đổi các mô hình của mình sang định dạng TF.js, giúp các mô hình của bạn hoạt động tốt hơn trên nhiều trình duyệt cục bộ và ứng dụng Node.js.

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

Xuất các mô hình học máy của bạn sang TensorFlow.js, được phát triển bởi nhóm TensorFlow 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ế cho việc 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 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 bên dưới cho thấy kiến trúc TensorFlow.js và 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.

Kiến trúc TF.js

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 nhanh nhạy 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 thiết kế để có 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ả trình duyệt và môi trường Node.js, mang lại sự linh hoạt trong việc 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 các ứ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ư gốc và WebGPU cho các khả năng máy học dựa trên trình duyệt nâng cao.

  • 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 bạn có thể phát triển các ứng dụng hoạt động ngoại tuyến.

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

Trước khi chúng ta đi sâu vào quy trình xuất các mô hình YOLO11 sang định dạng TF.js, hãy khám phá một số tình huống 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 máy học của bạn:

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

  • Ứ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 máy học phía máy chủ. Nó đặ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ủ.

  • 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 mở rộng cho phép người dùng nhấp chuột phải vào hình ảnh trong bất kỳ trang web nào để phân loại nó bằng mô hình ML được đào tạo 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 tăng cường ngay lập tức dựa trên machine learning.

Xuất các mô hình YOLO11 sang TensorFlow.js

Bạn có thể mở rộng khả năng tương thích của mô hình và tính linh hoạt trong triển khai bằng cách chuyển đổi các mô hình YOLO11 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 YOLO11
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp hay 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 khi cài đặt các gói cần thiết cho YOLO11, 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 để biết các giải pháp và mẹo.

Cách sử dụng

Tất cả các mô hình Ultralytics YOLO11 đều được thiết kế để hỗ trợ xuất ngay lập tức, giúp bạn dễ dàng tích hợp chúng vào quy trình triển khai ưa thích của mình. 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.

Cách sử dụng

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'

Các đối số xuất

Đối số Loại Mặc định Mô tả
format str 'tfjs' Dạng mục tiêu cho mô hình đượ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.
imgsz int hoặc tuple 640 Kích thước hình ảnh mong muốn cho đầu vào của mô hình. Có thể là một số nguyên cho hình ảnh vuông hoặc một bộ giá trị (height, width) cho các kích thước cụ thể.
half bool False Cho phép lượng tử hóa FP16 (nửa độ chính xác), giảm kích thước mô hình 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 thêm mô hình 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 dành cho các thiết bị biên.
nms bool False Thêm Non-Maximum Suppression (NMS), rất cần thiết cho việc xử lý hậu kỳ phát hiện chính xác và hiệu quả.
batch int 1 Chỉ định kích thước suy luận theo lô của mô hình xuất hoặc số lượng hình ảnh tối đa mà mô hình đã xuất sẽ xử lý đồng thời ở chế độ predict chế độ.
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.

Triển khai các Mô Hình YOLO11 TensorFlow.js Đã Xuất

Bây giờ bạn đã xuất mô hình YOLO11 của mình sang định dạng TF.js, bước tiếp theo là triển khai nó. Bước đầu tiên chính và được khuyến nghị để chạy mô hình TF.js là sử dụng YOLO("./yolo11n_web_model") phương thức, như đã trình bày trước đó trong đoạn mã sử dụng.

Tuy nhiên, để biết hướng dẫn chuyên sâu về cách triển khai các mô hình TF.js của bạn, hãy xem các tài nguyên sau:

Tóm tắt

Trong hướng dẫn này, chúng ta đã học cách xuất các mô hình Ultralytics YOLO11 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 YOLO11 của mình 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ề tích hợp Ultralytics YOLO11 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 chứa đầy các tài nguyên tuyệt vời để giúp bạn tận dụng tối đa YOLO11 trong các dự án của mình.

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

Làm cách nào để xuất các mô hình Ultralytics YOLO11 sang định dạng TensorFlow.js?

Việc xuất các mô hình Ultralytics YOLO11 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 the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='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 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 YOLO11 của mình sang TensorFlow.js?

Xuất các mô hình YOLO11 sang TensorFlow.js mang lại một số lợi thế, 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, cho phép linh hoạt trong 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ế.

Để 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 máy học dựa 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. 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 máy học cục bộ, cung cấp kết quả ngay lập tức mà không cần dựa vào 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 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 nhất quán.
  • 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 TensorFlow.js chính thức.

Các tính năng chính của TensorFlow.js để triển khai các mô hình YOLO11 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, mang lại sự 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, làm cho nó trở nên lý tưởng để phát triển các ứng dụng web đáp ứng.

Để biết các trường hợp triển khai và thông tin chuyên sâu hơn, hãy xem phần 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 YOLO11 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 YOLO11 trên môi trường Node.js. Điều này cho phép các ứng dụng máy học phía máy chủ 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 theo thời gian thực và các quy trình máy học 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.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 4 tháng trước

Bình luận