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

Hiểu cách xuất sang TF SavedModel Định dạng từ YOLOv8

Việc triển khai các mô hình học máy có thể là một thách thức. Tuy nhiên, sử dụng định dạng mô hình hiệu quả và linh hoạt có thể giúp công việc của bạn dễ dàng hơn. TF SavedModel là một khung máy học mã nguồn mở được sử dụng bởi TensorFlow để tải các mô hình học máy một cách nhất quán. Nó giống như một chiếc vali cho TensorFlow mô hình, giúp chúng dễ dàng mang theo và sử dụng trên các thiết bị và hệ thống khác nhau.

Học cách xuất sang TF SavedModel từ Ultralytics YOLOv8 Các mô hình có thể giúp bạn triển khai các mô hình dễ dàng trên các nền tảng và môi trường khác nhau. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn cách chuyển đổi mô hình của bạn sang TF SavedModel định dạng, đơn giản hóa quá trình chạy suy luận với các mô hình của bạn trên các thiết bị khác nhau.

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

Các TensorFlow SavedModel định dạng là một phần của TensorFlow hệ sinh thái do Google phát triển như hình dưới đây. Nó được thiết kế để lưu và tuần tự hóa TensorFlow mô hình liền mạch. Nó gói gọn các chi tiết đầy đủ của các mô hình như kiến trúc, trọng lượng và thậm chí cả thông tin biên dịch. Điều này giúp việc chia sẻ, triển khai và tiếp tục đào tạo trên các môi trường khác nhau trở nên đơn giản.

TF SavedModel

Các TF SavedModel có một lợi thế chính: khả năng tương thích của nó. Nó hoạt động tốt với TensorFlow Phục vụ TensorFlow Lite, và TensorFlow.Js. Khả năng tương thích này giúp chia sẻ và triển khai các mô hình trên nhiều nền tảng khác nhau dễ dàng hơn, bao gồm các ứng dụng web và di động. Các TF SavedModel Định dạng hữu ích cho cả nghiên cứu và sản xuất. Nó cung cấp một cách thống nhất để quản lý các mô hình của bạn, đảm bảo chúng sẵn sàng cho mọi ứng dụng.

Các tính năng chính của TF Mô hình đã lưu

Dưới đây là các tính năng chính tạo nên TF SavedModel một lựa chọn tuyệt vời cho các nhà phát triển AI:

  • Tính di động: TF SavedModel cung cấp định dạng tuần tự hóa trung lập ngôn ngữ, có thể khôi phục, kín. Chúng cho phép các hệ thống và công cụ cấp cao hơn để sản xuất, tiêu thụ và chuyển đổi TensorFlow Mô hình. SavedModels có thể dễ dàng chia sẻ và triển khai trên các nền tảng và môi trường khác nhau.

  • Dễ triển khai: TF SavedModel Gói đồ thị tính toán, các tham số đã đào tạo và siêu dữ liệu cần thiết vào một gói duy nhất. Chúng có thể dễ dàng tải và sử dụng để suy luận mà không yêu cầu mã gốc đã xây dựng mô hình. Điều này làm cho việc triển khai TensorFlow Mô hình đơn giản và hiệu quả trong các môi trường sản xuất khác nhau.

  • Quản lý tài sản: TF SavedModel Hỗ trợ bao gồm các tài sản bên ngoài như từ vựng, nhúng hoặc bảng tra cứu. Các tài sản này được lưu trữ cùng với định nghĩa đồ thị và các biến, đảm bảo chúng có sẵn khi mô hình được tải. Tính năng này đơn giản hóa việc quản lý và phân phối các mô hình dựa vào tài nguyên bên ngoài.

Tùy chọn triển khai với TF SavedModel

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 SavedModel , hãy khám phá một số tình huống triển khai điển hình trong đó định dạng này được sử dụng.

TF SavedModel 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:

  • TensorFlow Phục vụ: TensorFlow Phục vụ là một hệ thống phục vụ linh hoạt, hiệu suất cao được thiết kế cho môi trường sản xuất. Nó nguyên bản hỗ trợ TF SavedModels, giúp dễ dàng triển khai và phục vụ các mô hình của bạn trên nền tảng đám mây, máy chủ tại chỗ hoặc thiết bị biên.

  • Nền tảng đám mây: Các nhà cung cấp đám mây lớn như Google Cloud Platform (GCP), Amazon Web Services (AWS) và Microsoft Azure cung cấp dịch vụ để triển khai và chạy TensorFlow mô hình, bao gồm TF SavedModels. Các dịch vụ này cung cấp cơ sở hạ tầng có thể mở rộng và quản lý, cho phép bạn triển khai và mở rộng quy mô mô hình của mình một cách dễ dàng.

  • Thiết bị di động và nhúng: TensorFlow Lite, một giải pháp nhẹ để chạy các mô hình học máy trên thiết bị di động, nhúng và IoT, hỗ trợ chuyển đổi TF SavedModels vào TensorFlow Định dạng lite. Điều này cho phép bạn triển khai các mô hình của mình trên nhiều loại thiết bị, từ điện thoại thông minh và máy tính bảng đến vi điều khiển và thiết bị biên.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) is a high-performance runtime for executing TensorFlow graphs. It provides lower-level APIs for loading and running TF SavedModels in C++ environments. TensorFlow Runtime offers better performance compared to the standard TensorFlow runtime. It is suitable for deployment scenarios that require low-latency inference and tight integration with existing C++ codebases.

Xuất khẩu YOLOv8 Mô hình để TF SavedModel

Bằng cách xuất khẩu YOLOv8 mô hình cho TF SavedModel định dạng, bạn nâng cao khả năng thích ứng của họ và dễ triển khai trên các nền tảng khác nhau.

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 SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolov8n_saved_model")

# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

# Run inference with the exported model
yolo predict model='./yolov8n_saved_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 TF SavedModel Mô hình

Bây giờ bạn đã xuất YOLOv8 mô hình cho TF SavedModel đị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 GraphDef Mô hình là sử dụng YOLO("./yolov8nPhương thức _saved_model inch), 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 SavedModel Mô hình, hãy xem các tài nguyên sau:

  • TensorFlow Serving: Here's the developer documentation for how to deploy your TF SavedModel models using TensorFlow Serving.

  • Chạy một TensorFlow SavedModel trong Node.js: A TensorFlow Bài đăng trên blog về việc chạy một TensorFlow SavedModel trong Node.js trực tiếp mà không cần chuyển đổi.

  • Triển khai trên đám mây: A TensorFlow Bài đăng trên blog về việc triển khai một TensorFlow SavedModel mô hình trên Nền tảng Cloud AI.

Tóm tắt

Trong hướng dẫn này, chúng tôi đã khám phá cách xuất Ultralytics YOLOv8 mô hình cho TF SavedModel định dạng. Bằng cách xuất khẩu sang TF SavedModel, 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 TF SavedModel 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-03-23, Updated 2024-06-10
Authors: glenn-jocher (4), Burhan-Q (1), abirami-vina (1)

Ý kiến