Link to this sectionCách xuất mô hình từ YOLO26 sang TF GraphDef để triển khai#
Khi bạn triển khai các mô hình thị giác máy tính 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ề tương thích. TensorFlow GraphDef (hay TF GraphDef) của Google cung cấp một giải pháp bằng cách tạo ra một định dạng biểu diễn mô hình tuần tự hóa, độc lập với nền tảng. 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 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 các mô hình Ultralytics YOLO26 sang định dạng mô hình TF GraphDef. Bằng cách chuyển đổi mô hình, bạn có thể tối ưu hóa quy trình triển khai và sử dụng các khả năng thị giác máy tính của YOLO26 trong phạm vi ứng dụng và nền tảng rộng hơn.
Link to this sectionTạ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 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ư YOLO26. Việc xuất sang TF GraphDef cho phép bạn đưa mô hình từ nghiên cứu vào 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 áp dụng nhiều 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à các 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à các chip AI, mở ra hiệu suất đáng kể cho quy trình suy luận của YOLO26. Định dạng TF GraphDef tạo ra một gói khép kín bao gồm cả mô hình và các phụ thuộc của nó, giúp đơ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.
Link to this sectionCá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 quy trình triển khai mô hình và tối ưu hóa.
Dưới đây là tổng quan về các đặc điểm chính của nó:
-
Tuần tự hóa mô hình: TF GraphDef cung cấp cách thức để 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. Định dạng 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 mà không cần đến mã nguồn Python gốc, giúp việc triển khai trở nên dễ dàng hơn.
-
Tối ưu hóa đồ thị: 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 tinh giản luồng thực thi, giảm thiểu dư thừa và tùy chỉnh các phép toán cho phù hợp với phần cứng cụ thể.
-
Tính linh hoạt trong triển khai: Các mô hình được 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ị có tài nguyên hạn chế, trình duyệt web và các hệ thống sử dụng 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 môi trường 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ế.
Link to this sectionCác tùy chọn triển khai với TF GraphDef#
Trước khi đi sâu vào quy trình xuất mô hình YOLO26 sang TF GraphDef, hãy cùng 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.
Dưới đây là cách bạn có thể triển khai hiệu quả bằng 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, quản lý phiên bản và cơ sở hạ tầng để phục vụ mô hình hiệu quả ở quy mô lớn. Đây là 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 trong 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 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à nhiều thiết bị nhúng khác nhau. Sau đó, 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 hiệu suất tốt hơn 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 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ó hướng tới phần cứng tùy chỉnh, chẳng hạn như các 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 đòi hỏi tính toán cường độ cao.
Link to this sectionXuấ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 trên các nền tảng.
Link to this sectionCà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 thực hành 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. 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 về các vấn đề phổ biến để tìm giải pháp và mẹo.
Link to this sectionCách sử dụng#
Tất cả các Ultralytics YOLO26 models được thiết kế để hỗ trợ xuất ngay khi cài đặt, giúp bạn dễ dàng tích hợp chúng vào quy trình triển khai ưu tiên của mình. Bạn có thể view the full list of supported export formats and configuration options để chọn thiết lập tốt nhất cho ứng dụng của mình.
Định dạng TF GraphDef hỗ trợ các chế độ Export, Predict và Validate. Hãy xuất mô hình, sau đó tải mô hình đã xuất để thực hiện suy luận hoặc kiểm tra độ chính xác.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionĐối số Xuất#
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'pb' | Định dạng đích cho model đượ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 ảnh mong muốn cho đầu vào của model. Có thể là một số nguyên cho ả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 xuất sẽ xử lý đồng thời trong 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 của Ultralytics về việc xuất model.
Link to this sectionTriển khai mô hình YOLO26 TF GraphDef đã xuất#
Sau khi bạn đã xuất mô hình YOLO26 sang định dạng TF GraphDef, bước tiếp theo là triển khai. Bước đầu tiên cơ bản và được khuyến nghị để chạy một mô hình TF GraphDef là sử dụng phương thức YOLO("model.pb"), như đã được hiển thị 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 qua các tài nguyên sau:
-
TensorFlow Serving: Một hướng dẫn về TensorFlow Serving cung cấp 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 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: Một hướng dẫn về chuyển đổi mô hình, hướng dẫn cách chuyển đổi các mô hình TensorFlow hoặc Keras sang định dạng TensorFlow.js để sử dụng trong các ứng dụng web.
Link to this sectionTó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 thực hiện việc này, bạn có thể linh hoạt triển khai các mô hình YOLO26 đã 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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionLàm thế 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 một biểu diễn mô hình 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 a 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 của Ultralytics về xuất mô hình.
Link to this sectionLợi ích của việc sử dụng TF GraphDef để triển khai mô hình YOLO26 là gì?#
Việc xuất các mô hình YOLO26 sang định dạng TF GraphDef mang lại nhiều lợi thế, bao gồm:
- Độc lập với nền tảng: TF GraphDef cung cấp một định dạng độc lập với nền tảng, cho phép các mô hình được triển khai 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 thực hiện 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à các chip AI để đạt được hiệu suất tốt hơn.
Đọc thêm về các lợi ích trong phần TF GraphDef trong tài liệu của chúng tôi.
Link to this sectionTại sao tôi nên sử dụng Ultralytics YOLO26 thay vì các mô hình phát hiện đối tượng khác?#
Ultralytics YOLO26 cung cấp nhiều ưu điểm 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 vượt trội: YOLO26 cung cấp tốc độ và độ chính xác đặc biệt cho các tác vụ phát hiện đối tượng, phân đoạn cá thể, phân đoạn ngữ nghĩa và phân loại thời gian thực.
- Dễ sử dụng: Có API thân thiện với người dùng để huấn luyện, xác thực, dự đoán và xuất mô hình, giúp người mới bắt đầu và chuyên gia đều có thể tiếp cận dễ dàng.
- 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, mang lại các tùy chọn triển khai đa năng.
Khám phá thêm chi tiết trong phần giới thiệu về YOLO26 của chúng tôi.
Link to this sectionLà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 tình huống 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 các 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 bằ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à các 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.
Link to this sectionTôi có thể tìm các giải pháp cho các vấn đề thường gặp khi xuất mô hình YOLO26 ở đâu?#
Để khắc phục sự cố các vấn đề 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 về các sự cố thường gặp: Cung cấp 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.