Cách xuất YOLO26 sang TF GraphDef để triển khai
Khi bạn triển khai các mô hình computer vision tiên tiến, như YOLO26, trong các môi trường khác nhau, bạn có thể gặp phải các vấn đề về khả năng tương thích. TensorFlow GraphDef của Google, hay TF GraphDef, cung cấp một giải pháp bằng cách đưa ra cách biểu diễn mô hình đã được tuần tự hóa và độc lập với nền tảng. Bằng cách sử dụng định dạng mô hình TF GraphDef, bạn có thể triển khai mô hình YOLO26 của mình trong các môi trường mà hệ sinh thái TensorFlow hoàn chỉnh 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 cách xuất mô hình Ultralytics YOLO26 sang định dạng mô hình TF GraphDef. 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 các khả năng computer vision của YOLO26 trong phạm vi ứng dụng và nền tảng rộng hơn.
Tại sao bạn nên xuất sang TF GraphDef?
TF GraphDef là một thành phần mạnh mẽ của hệ sinh thái TensorFlow được 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ư YOLO26. Việc xuất sang TF GraphDef cho phép bạn chuyển các mô hình từ nghiên cứu sang các ứng dụng thực tế. Nó cho phép các mô hình chạy trong các môi trường không có framework TensorFlow đầy đủ.
Định dạng GraphDef biểu diễn mô hình dưới dạng đồ thị tính toán đã được 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 hằng số (constant folding), lượng tử hóa (quantization) và biến đổi đồ thị. Những tối ưu hóa này đảm bảo quá trình thực thi hiệu quả, giảm mức sử dụng bộ nhớ và tăng tốc độ suy luận.
Các mô hình GraphDef có thể tận dụng các bộ tăng tốc phần cứng như GPU, TPU và chip AI, mang lại hiệu suất đáng kể cho pipeline suy luận YOLO26. Định dạng TF GraphDef tạo ra một gói khép kín chứa 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 mô hình TF GraphDef
TF GraphDef cung cấp các tính năng riêng biệt để hợp lý hóa model deployment và tối ưu hóa.
Dưới đây là các đặc điểm chính của nó:
-
Tuần tự hóa mô hình (Model Serialization): TF GraphDef cung cấp một cách để tuần tự hóa và lưu trữ các mô hình TensorFlow ở định dạng độc lập với nền tảng. Cách biểu diễn đã tuần tự hóa 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 cơ sở mã Python gốc, giúp việc triển khai trở nên dễ dàng hơn.
-
Tối ưu hóa đồ thị (Graph Optimization): TF GraphDef cho phép tối ưu hóa các đồ 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à tùy chỉnh các thao tác để phù hợp với phần cứng cụ thể.
-
Tính linh hoạt khi triển khai: Các mô hình đã xuất sang định dạng GraphDef 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à các 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 cho các mô hình TensorFlow của bạn.
-
Tập trung vào sản xuất: GraphDef được thiết kế để triển khai trong 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 thực tế.
Các tùy chọn triển khai với TF GraphDef
Trước khi đi sâu vào quá trình xuất các mô hình YOLO26 sang TF GraphDef, hãy xem xét một số tình huống triển khai điển hình nơi định dạng này được sử dụng.
Dưới đây là cách bạn có thể triển khai hiệu quả với TF GraphDef trên nhiều nền tảng khác nhau.
-
TensorFlow Serving: Framework này được thiết kế để triển khai các mô hình TensorFlow trong môi trường sản xuất. TensorFlow Serving cung cấp khả năng 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ả trên quy mô lớn. Đây là một cách liền mạch để tích hợp các mô hình dựa trên GraphDef của bạn vào các dịch vụ web hoặc API sản xuất.
-
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 các mô hình TF GraphDef sang 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ị, nơi việc thực thi được thực hiện cục bộ, thường mang lại lợi ích về hiệu suất và khả năng hoạt động ngoại tuyến.
-
Trình duyệt web: TensorFlow.js cho phép triển khai các mô hình TF GraphDef 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 trên phía client, sử dụng các khả năng của YOLO26 thông qua JavaScript.
-
Phần cứng chuyên dụng: Bản chất độc lập với nền tảng của TF GraphDef cho phép nó nhắm mục tiêu vào phần cứng tùy chỉnh, chẳng hạn như bộ tăng tốc và TPU (Tensor Processing Units). 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 mô hình YOLO26 sang TF GraphDef
Bạn có thể chuyển đổi mô hình phát hiện đối tượng YOLO26 của mình sang định dạng TF GraphDef, vốn tương thích với nhiều hệ thống, để 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 cần thiết, 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 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 khi cài đặt các gói cần thiết cho YOLO26, 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 YOLO26 đều được thiết kế để hỗ trợ xuất ngay khi cài đặt, giúp dễ dàng tích hợp chúng vào quy trình triển khai ưu tiên 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 GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")Đối số xuất (Export Arguments)
| Tham số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'pb' | Định 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 mô hình. 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ể. |
batch | int | 1 | Chỉ định kích thước suy luận theo lô (batch) của mô hình xuất hoặc số lượng hình ảnh tối đa mà mô hình được xuất sẽ xử lý đồng thời ở chế độ predict. |
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 mô hình TF GraphDef YOLO26 đã xuất
Sau khi bạn đã xuất mô hình YOLO26 của mình sang định dạng TF GraphDef, bước tiếp theo là triển khai. Bước đầu tiên chính và được khuyến nghị để chạy mô hình TF GraphDef là sử dụng phương thức YOLO("model.pb"), như đã trình bày trong đoạn mã sử dụng trước đó.
Tuy nhiên, để biết thêm thông tin về việc triển khai các mô hình TF GraphDef của bạn, hãy xem các tài nguyên sau:
-
TensorFlow Serving: Hướng dẫn về TensorFlow Serving dạy cách triển khai và phục vụ các mô hình machine learning 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 học máy 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 về chuyển đổi mô hình dạy cách chuyển đổi các mô hình TensorFlow hoặc Keras thành định dạng TensorFlow.js để 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 các mô hình Ultralytics YOLO26 sang định dạng TF GraphDef. Bằng cách này, bạn có thể triển khai linh hoạt các mô hình YOLO26 đã được tối ưu hóa của mì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 tài liệu chính thức của TF GraphDef.
Để 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, hãy xem trang hướng dẫn tích hợp của chúng tôi.
Câu hỏi thường gặp (FAQ)
Làm cách nào để xuất mô hình YOLO26 sang định dạng TF GraphDef?
Các mô hình Ultralytics YOLO26 có thể được xuất sang định dạng TensorFlow GraphDef (TF GraphDef) một cách liền mạch. Định dạng này cung cấp cách biểu diễn mô hình đã được tuần tự hóa, độc lập với nền tảng, lý tưởng để triển khai trong các môi trường đa dạng như di động và web. Để xuất mô hình YOLO26 sang TF GraphDef, hãy 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 GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo26n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")Để biết thêm thông tin về các tùy chọn xuất khác nhau, hãy truy cập tài liệu Ultralytics về xuất mô hình.
Lợi ích của việc sử dụng TF GraphDef để triển khai mô hình YOLO26 là gì?
Xuất các mô hình YOLO26 sang định dạng TF GraphDef mang lại nhiều lợi ích, bao gồm:
- Độc lập với nền tảng: TF GraphDef cung cấp định dạng độc lập với nền tảng, cho phép triển khai các mô hình trên nhiều môi trường khác nhau bao gồm thiết bị di động và trình duyệt web.
- Tối ưu hóa: Định dạng này cho phép một số tối ưu hóa như gộp hằng số, lượng tử hóa và biến đổi đồ thị, giúp tăng hiệu quả thực thi và giảm mức sử dụng bộ nhớ.
- Tăng tốc phần cứng: Các mô hình ở định dạng TF GraphDef có thể tận dụng các bộ tăng tốc phần cứng như GPU, TPU và chip AI để đạt được hiệu suất cao hơn.
Đọc thêm về các lợi ích trong phần TF GraphDef của tài liệu chúng tôi.
Tại sao tôi nên sử dụng Ultralytics YOLO26 thay vì các mô hình object detection khác?
Ultralytics YOLO26 mang lại nhiều lợi thế so với các mô hình khác như YOLOv5 và YOLOv7. Một số lợi ích chính bao gồm:
- Hiệu suất hiện đại (State-of-the-Art): YOLO26 cung cấp tốc độ và độ chính xác vượt trội cho phát hiện đối tượng thời gian thực, phân đoạn cá thể, phân đoạn ngữ nghĩa và phân loại.
- Dễ sử dụng: Có API thân thiện với người dùng để đào tạo, xác thực, dự đoán và xuất mô hình, giúp cả người mới bắt đầu và chuyên gia đều có thể tiếp cận.
- Khả năng tương thích rộng: Hỗ trợ nhiều định dạng xuất bao gồm ONNX, TensorRT, CoreML và TensorFlow, cho các tùy chọn triển khai linh hoạt.
Khám phá thêm chi tiết trong phần giới thiệu về YOLO26 của chúng tôi.
Làm thế nào tôi có thể triển khai mô hình YOLO26 trên phần cứng chuyên dụng bằng TF GraphDef?
Sau khi mô hình YOLO26 được xuất sang định dạng TF GraphDef, bạn có thể triển khai nó trên nhiều nền tảng phần cứng chuyên dụng khác nhau. Các kịch bản triển khai điển hình bao gồm:
- TensorFlow Serving: Sử dụng TensorFlow Serving để triển khai mô hình có khả năng mở rộng trong môi trường sản xuất. Nó hỗ trợ quản lý mô hình và phục vụ hiệu quả.
- Thiết bị di động: Chuyển đổi các mô hình TF GraphDef sang TensorFlow Lite, được tối ưu hóa cho thiết bị di động và nhúng, cho phép suy luận trên thiết bị.
- Trình duyệt web: Triển khai các mô hình sử dụng TensorFlow.js để suy luận phía client trong các ứng dụng web.
- Bộ tăng tốc AI: Tận dụng các TPU và chip AI tùy chỉnh để tăng tốc suy luận.
Kiểm tra phần tùy chọn triển khai để biết thông tin chi tiết.
Tôi có thể tìm các giải pháp cho các vấn đề phổ biến khi xuất mô hình YOLO26 ở đâu?
Để khắc phục các sự cố thường gặp khi xuất mô hình YOLO26, Ultralytics cung cấp các hướng dẫn và tài nguyên toàn diện. Nếu bạn gặp vấn đề trong quá trình cài đặt hoặc xuất mô hình, hãy tham khảo:
- Hướng dẫn Các vấn đề thường gặp: Cung cấp các giải pháp cho các vấn đề thường gặp.
- Hướng dẫn Cài đặt: Hướng dẫn từng bước để thiết lập các gói cần thiết.
Những tài nguyên này sẽ giúp bạn giải quyết hầu hết các vấn đề liên quan đến việc xuất và triển khai mô hình YOLO26.