Bỏ để qua phần nội dung

Xuất sang TF.js định dạng mô hình từ một YOLOv8 Định dạng mô hình

Deploying machine learning models directly in the browser or on Node.js can be tricky. You'll need to make sure your model format is optimized for faster performance so that the model can be used to run interactive applications locally on the user's device. The TensorFlow.js, or TF.js, model format is designed to use minimal power while delivering fast performance.

The 'export to TF.js model format' feature allows you to optimize your Ultralytics YOLOv8 models for high-speed and locally-run object detection inference. In this guide, we'll walk you through converting your models to the TF.js format, making it easier for your models to perform well on various local browsers and Node.js applications.

Tại sao bạn nên xuất khẩu sang TF.Js?

Xuất các mô hình máy học của bạn sang TensorFlow.js, được phát triển bởi TensorFlow nhóm như một phần của rộng lớn hơn TensorFlow Hệ sinh thái, 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 dưới đây cho thấy TensorFlow.js kiến trúc 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.

TF.js Kiến trúc

Chạy các mô hình cục bộ cũng làm giảm độ trễ và cung cấp trải nghiệm người dùng phản hồi nhanh hơn. TensorFlow.js cũng đi kèm với 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ó nguồn lực hạn chế vì nó được thiết kế 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 tạo nên TF.js 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 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 phụ trợ: TensorFlow.js hỗ trợ nhiều phụ trợ khác nhau để 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ư nguyên bản và WebGPU cho khả năng học máy 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 phát triển các ứng dụng có chức năng ngoại tuyến.

Tùy chọn triển khai với TensorFlow.Js

Trước khi chúng tôi đi sâu vào quá trình xuất khẩu YOLOv8 mô hình cho TF.js định dạng, hãy khám phá một số kịch bản triển khai điển hình trong đó đị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:

  • Các ứ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 các 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 máy chủ giảm.

  • Node.js Các ứng dụng:: 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ủ. 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 truy cập vào dữ liệu phía máy chủ

  • Tiện ích mở rộng của Chrome: Một kịch bản triển khai thú vị là việc tạo các tiện ích mở rộng của 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 học máy.

Xuất khẩu YOLOv8 Mô hình để TensorFlow.Js

Bạn có thể mở rộng tính 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 YOLOv8 mô hình để TF.Js.

Cài đặt

Để cài đặt gói yêu cầu, hãy chạy:

Cài đặt

# Install the required package for YOLOv8
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 quá trình cài đặt, hãy kiểm tra Ultralytics Hướng dẫn cài đặt. Trong khi cài đặt các gói cần thiết cho YOLOv8, 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.

Sử dụng

Trước khi đi sâu vào hướng dẫn sử dụng, điều quan trọng cần lưu ý là trong khi tất cả Ultralytics YOLOv8 Các mô hình có sẵn để xuất, bạn có thể đảm bảo rằng mô hình bạn chọn hỗ trợ chức năng xuất tại đây.

Sử dụng

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

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

# Run inference with the exported model
yolo predict model='./yolov8n_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 Ultralytics trang tài liệu về các tùy chọn triển khai.

Triển khai xuất khẩu YOLOv8 TensorFlowMô hình .js

Bây giờ bạn đã xuất YOLOv8 mô hình cho TF.js định dạng, bước tiếp theo là triển khai nó. Bước đầu tiên chính và được đề xuất để chạy một TF.js là sử dụng YOLO("./yolov8nPhương thức _web_model"), như được hiển thị trước đây trong đoạn mã sử dụng.

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

Tóm tắt

Trong hướng dẫn này, chúng tôi đã học cách xuất Ultralytics YOLOv8 mô hình cho TensorFlow.js định dạng. Bằng cách xuất khẩu 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ủa mình YOLOv8 mô hình trên một loạt các nền tảng.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập TensorFlow.js tài liệu chính thức.

Để biết thêm thông tin về tích hợp Ultralytics YOLOv8 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. Nó được đóng gói với các tài nguyên tuyệt vời để giúp bạn tận dụng tối đa YOLOv8 trong các dự án của bạn.



Created 2024-04-03, Updated 2024-06-10
Authors: glenn-jocher (5), abirami-vina (1)

Ý kiến