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

Cách xuất sang TF GraphDef từ YOLOv8 để triển khai

Khi bạn đang triển khai các mô hình thị giác máy tính tiên tiến, như YOLOv8, trong các môi trường khác nhau, bạn có thể gặp phải sự cố tương thích. Của Google TensorFlow GraphDefhoặc TF GraphDef, cung cấp giải pháp bằng cách cung cấp bản trình bày mô hình của bạn được lập số sê-ri, độc lập với nền tảng. Sử dụng TF GraphDef định dạng mô hình, bạn có thể triển khai YOLOv8 Mô hình hóa trong môi trường hoàn chỉnh TensorFlow Hệ sinh thái có thể không khả dụng, chẳng hạn như thiết bị di động hoặc phần cứng chuyên dụng.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn từng bước qua cách xuất Ultralytics YOLOv8 mô hình cho TF GraphDef định dạng mô hình. Bằng cách chuyển đổi mô hình của mình, bạn có thể hợp lý hóa việc triển khai và sử dụng YOLOv8Khả năng thị giác máy tính của nó trong một phạm vi rộng hơn các ứng dụng và nền tảng.

TensorFlow GraphDef

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

TF GraphDef là một thành phần mạnh mẽ của TensorFlow hệ sinh thái do Google phát triển. Nó có thể được sử dụng để tối ưu hóa và triển khai các mô hình như YOLOv8. Xuất khẩu sang TF GraphDef Cho phép chúng tôi chuyển các mô hình từ nghiên cứu sang các ứng dụng trong thế giới thực. Nó cho phép các mô hình chạy trong môi trường mà không cần đầy đủ TensorFlow khuôn khổ.

Các GraphDef định dạng đại diện cho mô hình dưới dạng biểu đồ tính toán tuần tự hóa. Điều này cho phép các kỹ thuật tối ưu hóa khác nhau như gấp liên tục, lượng tử hóa và biến đổi đồ thị. Những tối ưu hóa này đảm bảo thực thi hiệu quả, giảm mức sử dụng bộ nhớ và tốc độ suy luận nhanh hơn.

GraphDef các mô hình có thể sử dụng các bộ tăng tốc phần cứng như GPU, TPU và chip AI, mở ra mức tăng hiệu suất đáng kể cho YOLOv8 đường ống suy luận. Các TF GraphDef Định dạng tạo ra một gói khép kín với mô hình và các phụ thuộc của nó, đơn giản hóa việc triển khai và tích hợp vào các hệ thống đa dạng.

Các tính năng chính của TF GraphDef Mô hình

TF GraphDef Cung cấp các tính năng riêng biệt để hợp lý hóa việc triển khai và tối ưu hóa mô hình.

Dưới đây là một cái nhìn về các đặc điểm chính của nó:

  • Lập số sê-ri hóa mô hình: TF GraphDef Cung cấp cách lập số sê-ri hóa và lưu trữ TensorFlow mô hình ở định dạng độc lập với nền tảng. Biểu diễn tuần tự này cho phép bạn tải và thực thi các mô hình của mình mà không cần bản gốc Python Codebase, giúp triển khai dễ dàng hơn.

  • Tối ưu hóa biểu đồ: TF GraphDef cho phép tối ưu hóa đồ thị tính toán. Những tối ưu hóa này có thể tăng hiệu suất bằng cách hợp lý hóa luồng thực thi, giảm dư thừa và điều chỉnh các hoạt động cho phù hợp với phần cứng cụ thể.

  • Triển khai linh hoạt: Các mô hình được xuất sang GraphDef Định dạng có thể được sử dụng trong nhiều môi trường khác nhau, bao gồm các thiết bị hạn chế tài nguyên, trình duyệt web và hệ thống có phần cứng chuyên dụng. Điều này mở ra khả năng triển khai rộng rãi hơn TensorFlow Mô hình.

  • Trọng tâm sản xuất: GraphDef được thiết kế để triển khai sản xuất. Nó hỗ trợ thực thi hiệu quả, các tính năng tuần tự hóa và tối ưu hóa phù hợp với các trường hợp sử dụng trong thế giới thực.

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

Trước khi chúng tôi đi sâu vào quá trình xuất khẩu YOLOv8 mô hình để TF GraphDef, chúng ta hãy xem xét một số tình huống triển khai điển hình mà định dạng này được sử dụng.

Đây là cách bạn có thể triển khai với TF GraphDef hiệu quả trên nhiều nền tảng khác nhau.

  • TensorFlow Phục vụ: Framework này được thiết kế để triển khai TensorFlow mô hình trong môi trường sản xuất. TensorFlow Phục vụ cung cấp quản lý mô hình, lập phiên bản và cơ sở hạ tầng để phục vụ mô hình hiệu quả ở quy mô lớn. Đó là một cách liền mạch để tích hợp GraphDef-dựa trên các mô hình thành các dịch vụ web sản xuất hoặc API.

  • Thiết bị di động và nhúng: Với các công cụ như TensorFlow Lite, bạn có thể chuyển đổi TF GraphDef mô hình thành các định dạng được tối ưu hóa cho điện thoại thông minh, máy tính bảng và các thiết bị nhúng khác nhau. Sau đó, các mô hình của bạn có thể được sử dụng để suy luận trên thiết bị, trong đó việc thực thi được thực hiện cục bộ, thường mang lại hiệu suất tăng và khả năng ngoại tuyến.

  • Trình duyệt web: TensorFlow.js cho phép triển khai TF GraphDef mô hình trực tiếp trong trình duyệt web. Nó mở đường cho các ứng dụng phát hiện đối tượng thời gian thực chạy ở phía máy khách, sử dụng các khả năng của YOLOv8 thông qua JavaScript.

  • Phần cứng chuyên dụng: TF GraphDefBản chất bất khả tri nền tảng của nó cho phép nó nhắm mục tiêu phần cứng tùy chỉnh, chẳng hạn như máy gia tốc và TPU (Tensor Đơn vị xử lý). Các thiết bị này có thể cung cấp lợi thế về hiệu suất cho các mô hình tính toán chuyên sâu.

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

Bạn có thể chuyển đổi YOLOv8 mô hình phát hiện đối tượng với TF GraphDef định dạng, tương thích với các hệ thống khác nhau, để cải thiện hiệu suất của nó trên các nền tảng.

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 GraphDef format
model.export(format='pb')  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO('yolov8n.pb')

# Run inference
results = tf_graphdef_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

# Run inference with the exported model
yolo predict model='yolov8n.pb' 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 GraphDef Mô hình

Khi bạn đã xuất YOLOv8 mô hình cho TF GraphDef Định dạng, bước tiếp theo là triển khai. Bước đầu tiên chính và được đề xuất để chạy một TF GraphDef Mô hình là sử dụng YOLOPhương thức ("model.pb"), như được hiển thị trước đó trong đoạn mã sử dụng.

Tuy nhiên, để biết thêm thông tin về việc triển khai TF GraphDef Mô hình, hãy xem các tài nguyên sau:

  • TensorFlow Phục vụ: Hướng dẫn về TensorFlow Phục vụ dạy cách triển khai và phục vụ các mô hình học máy một cách hiệu quả trong môi trường sản xuất.

  • TensorFlow Lite: Trang này mô tả cách chuyển đổi các mô hình máy học thành định dạng được tối ưu hóa để suy luận trên thiết bị với TensorFlow Lite.

  • TensorFlow.js: Hướng dẫn chuyển đổi mô hình hướng dẫn cách chuyển đổi TensorFlow hoặc mô hình Keras thành TensorFlow.js dạng để sử dụng trong các ứng dụng web.

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 GraphDef định dạng. Bằng cách này, bạn có thể linh hoạt triển khai tối ưu hóa của mình YOLOv8 mô hình trong các môi trường khác nhau.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập TF GraphDef 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ó các tài nguyên và thông tin chi tiết 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.



Đã tạo 2024-03-22, Cập nhật 2024-04-03
Tác giả: RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

Ý kiến