Cách xuất model YOLO26 sang định dạng PaddlePaddle#
Thu hẹp khoảng cách giữa việc phát triển và triển khai các model thị giác máy tính trong những tình huống thực tế với các điều kiện khác nhau có thể là một thách thức. PaddlePaddle giúp quy trình này trở nên dễ dàng hơn nhờ tập trung vào tính linh hoạt, hiệu năng và khả năng xử lý song song trong các môi trường phân tán. Điều này có nghĩa là bạn có thể sử dụng các model thị giác máy tính YOLO26 trên nhiều loại thiết bị và nền tảng, từ smartphone đến server dựa trên cloud.
Watch: How to Export Ultralytics YOLO26 Models to PaddlePaddle Format | Key Features of PaddlePaddle Format
Khả năng xuất sang định dạng model PaddlePaddle cho phép bạn tối ưu các model Ultralytics YOLO26 để sử dụng trong framework PaddlePaddle. PaddlePaddle nổi tiếng với khả năng hỗ trợ triển khai trong công nghiệp và là lựa chọn phù hợp để triển khai các ứng dụng thị giác máy tính trong môi trường thực tế thuộc nhiều lĩnh vực khác nhau.
Tại sao nên xuất sang PaddlePaddle?#
Được Baidu phát triển, PaddlePaddle (PADDLE — học sâu song song và phân tán) là nền tảng deep learning mã nguồn mở đầu tiên của Trung Quốc. Khác với một số framework chủ yếu được xây dựng cho nghiên cứu, PaddlePaddle ưu tiên tính dễ sử dụng và khả năng tích hợp liền mạch giữa các ngành.
Nền tảng này cung cấp các công cụ và tài nguyên tương tự những framework phổ biến như TensorFlow và PyTorch, giúp các developer ở mọi cấp độ kinh nghiệm dễ dàng tiếp cận. Từ nông nghiệp, nhà máy đến các doanh nghiệp dịch vụ, cộng đồng developer lớn của PaddlePaddle với hơn 4,77 triệu thành viên đang hỗ trợ tạo và triển khai các ứng dụng AI.
Bằng cách xuất các model Ultralytics YOLO26 sang định dạng PaddlePaddle, bạn có thể tận dụng thế mạnh của PaddlePaddle trong việc tối ưu hiệu năng. PaddlePaddle ưu tiên việc thực thi model hiệu quả và giảm mức sử dụng bộ nhớ. Nhờ đó, các model YOLO26 của bạn có thể đạt hiệu năng thậm chí còn tốt hơn, mang lại kết quả vượt trội trong các tình huống thực tế.
Các tính năng chính của model PaddlePaddle#
Model PaddlePaddle cung cấp một loạt tính năng chính, góp phần mang lại tính linh hoạt, hiệu năng và khả năng mở rộng trong nhiều tình huống triển khai khác nhau:
-
Đồ thị động sang tĩnh: PaddlePaddle hỗ trợ biên dịch động sang tĩnh, trong đó model có thể được chuyển thành đồ thị tính toán tĩnh. Điều này cho phép thực hiện các tối ưu hóa giúp giảm overhead khi chạy và tăng hiệu năng inference.
-
Hợp nhất operator: Tương tự TensorRT, PaddlePaddle sử dụng hợp nhất operator để tinh gọn quá trình tính toán và giảm overhead. Framework này giảm thiểu việc truyền dữ liệu trong bộ nhớ và số bước tính toán bằng cách hợp nhất các operation tương thích, từ đó tăng tốc inference.
-
Lượng tử hóa: PaddlePaddle hỗ trợ các kỹ thuật lượng tử hóa, bao gồm lượng tử hóa sau huấn luyện và huấn luyện nhận biết lượng tử hóa. Các kỹ thuật này cho phép sử dụng biểu diễn dữ liệu có độ chính xác thấp hơn, qua đó tăng hiệu năng và giảm kích thước model.
Các tùy chọn triển khai trong PaddlePaddle#
Trước khi đi vào code để xuất model YOLO26 sang PaddlePaddle, hãy cùng xem xét các tình huống triển khai khác nhau mà model PaddlePaddle phát huy hiệu quả.
PaddlePaddle cung cấp nhiều tùy chọn, mỗi tùy chọn mang đến sự cân bằng riêng giữa tính dễ sử dụng, tính linh hoạt và hiệu năng:
-
Paddle Serving: Framework này đơn giản hóa việc triển khai model PaddlePaddle dưới dạng RESTful API hiệu năng cao. Paddle Serving phù hợp với môi trường production, cung cấp các tính năng như quản lý phiên bản model, A/B testing trực tuyến và khả năng mở rộng để xử lý khối lượng request lớn.
-
Paddle Inference API: Paddle Inference API cung cấp quyền kiểm soát ở mức thấp đối với việc thực thi model. Tùy chọn này phù hợp với các tình huống cần tích hợp chặt model vào một ứng dụng tùy chỉnh hoặc tối ưu hiệu năng cho phần cứng cụ thể.
-
Paddle Lite: Paddle Lite được thiết kế để triển khai trên các thiết bị di động và thiết bị nhúng có tài nguyên hạn chế. Công cụ này tối ưu model để có kích thước nhỏ hơn và inference nhanh hơn trên CPU ARM, GPU và các phần cứng chuyên dụng khác.
-
Paddle.js: Paddle.js cho phép bạn triển khai trực tiếp các model PaddlePaddle trong trình duyệt web. Paddle.js có thể tải model pretrained hoặc chuyển đổi model từ paddle-hub bằng các công cụ chuyển đổi model do Paddle.js cung cấp. Công cụ này có thể chạy trong các trình duyệt hỗ trợ WebGL/WebGPU/WebAssembly.
Các Task được hỗ trợ#
Tính năng xuất PaddlePaddle hỗ trợ cả bảy tác vụ Ultralytics. Phân đoạn ngữ nghĩa và ước tính độ sâu chỉ khả dụng với YOLO26, dòng duy nhất được phát hành kèm các head này.
Xuất sang PaddlePaddle: Chuyển đổi model YOLO26 của bạn#
Việc chuyển đổi các model YOLO26 sang định dạng PaddlePaddle có thể cải thiện tính linh hoạt khi thực thi và tối ưu hiệu năng cho nhiều tình huống triển khai khác nhau.
Cài đặt#
Để cài đặt package bắt buộc, hãy chạy:
# Install the required package for YOLO26
pip install ultralyticsĐể xem hướng dẫn chi tiết và các best practice liên quan đến quy trình cài đặt, hãy tham khảo hướng dẫn Cài đặt Ultralytics. Nếu gặp khó khăn khi cài đặt các package cần thiết cho YOLO26, hãy xem hướng dẫn Các vấn đề Thường gặp để tìm giải pháp và mẹo xử lý.
Cách sử dụng#
Tất cả model Ultralytics YOLO26 đều hỗ trợ xuất, và bạn có thể xem danh sách đầy đủ các định dạng và tùy chọn xuất để tìm lựa chọn phù hợp nhất với nhu cầu triển khai của mình.
Định dạng PaddlePaddle hỗ trợ các chế độ Export, Predict và Validate. Hãy xuất model, sau đó tải model đã xuất để chạy inference hoặc xác thực độ chính xác.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to PaddlePaddle format
model.export(format="paddle") # creates 'yolo26n_paddle_model'from ultralytics import YOLO
# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported PaddlePaddle model
model = YOLO("./yolo26n_paddle_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Đối số Export#
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'paddle' | Định dạng đích của model đã export, xác định khả năng tương thích với nhiều môi trường triển khai. |
imgsz | int hoặc tuple | 640 | Kích thước ảnh mong muốn cho input của model. Có thể là một số nguyên đối với ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể. |
quantize | int hoặc str | None | Xuất cố định ở FP32. Tính năng xuất PaddlePaddle không hỗ trợ chuyển đổi độ chính xác FP16, INT8 hoặc W8A16 tại thời điểm xuất. |
batch | int | 1 | Chỉ định batch inference size của model export hoặc số image tối đa mà model đã export sẽ xử lý đồng thời trong mode predict. |
device | str | None | Chỉ định thiết bị dùng để xuất: CPU (device=cpu), MPS cho Apple silicon (device=mps). |
Để biết thêm chi tiết về quy trình export, hãy truy cập trang tài liệu Ultralytics về export.
Triển khai model YOLO26 PaddlePaddle đã xuất#
Sau khi xuất thành công các model Ultralytics YOLO26 sang định dạng PaddlePaddle, bạn có thể triển khai chúng. Bước đầu tiên chính và được khuyến nghị để chạy model PaddlePaddle là sử dụng phương thức YOLO("yolo26n_paddle_model/"), như đã nêu trong đoạn code sử dụng ở phần trước.
Tuy nhiên, để xem hướng dẫn chuyên sâu về cách triển khai model PaddlePaddle trong nhiều môi trường khác, hãy tham khảo các tài nguyên sau:
-
Paddle Serving: Tìm hiểu cách triển khai model PaddlePaddle dưới dạng các service hiệu năng cao bằng Paddle Serving.
-
Paddle Lite: Tìm hiểu cách tối ưu và triển khai model trên các thiết bị di động và thiết bị nhúng bằng Paddle Lite.
-
Paddle.js: Khám phá cách chạy model PaddlePaddle trong trình duyệt web cho các ứng dụng AI phía client bằng Paddle.js.
Tóm tắt#
Trong hướng dẫn này, chúng ta đã tìm hiểu quy trình xuất model Ultralytics YOLO26 sang định dạng PaddlePaddle. Bằng cách thực hiện các bước này, bạn có thể tận dụng thế mạnh của PaddlePaddle trong nhiều tình huống triển khai, đồng thời tối ưu model cho các môi trường phần cứng và phần mềm 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 PaddlePaddle.
Bạn muốn khám phá thêm các cách tích hợp model Ultralytics YOLO26? Trang hướng dẫn tích hợp của chúng tôi trình bày nhiều tùy chọn khác nhau, cung cấp cho bạn các tài nguyên và thông tin hữu ích.
FAQ#
Việc xuất model Ultralytics YOLO26 sang định dạng PaddlePaddle rất đơn giản. Bạn có thể sử dụng phương thức
exportcủa lớp YOLO để thực hiện chuyển đổi. Dưới đây là ví dụ sử dụng Python:Cách sử dụngfrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to PaddlePaddle format model.export(format="paddle") # creates 'yolo26n_paddle_model' # Load the exported PaddlePaddle model paddle_model = YOLO("./yolo26n_paddle_model") # Run inference results = paddle_model("https://ultralytics.com/images/bus.jpg")Để biết thêm chi tiết về thiết lập và khắc phục sự cố, hãy xem Hướng dẫn cài đặt Ultralytics và Hướng dẫn xử lý các vấn đề thường gặp.
PaddlePaddle mang lại một số lợi ích chính cho việc triển khai model:
- Tối ưu hiệu năng: PaddlePaddle nổi bật với khả năng thực thi model hiệu quả và giảm mức sử dụng bộ nhớ.
- Biên dịch đồ thị động sang tĩnh: Công cụ này hỗ trợ biên dịch động sang tĩnh, cho phép tối ưu hóa khi chạy.
- Hợp nhất operator: Bằng cách hợp nhất các operation tương thích, công cụ này giảm overhead tính toán.
- Kỹ thuật lượng tử hóa: Hỗ trợ cả lượng tử hóa sau huấn luyện và huấn luyện nhận biết lượng tử hóa, cho phép sử dụng biểu diễn dữ liệu có độ chính xác thấp hơn để cải thiện hiệu năng.
Bạn có thể đạt được kết quả tốt hơn bằng cách xuất model Ultralytics YOLO26 sang PaddlePaddle, đảm bảo tính linh hoạt và hiệu năng cao trên nhiều ứng dụng và nền tảng phần cứng khác nhau. Khám phá các tính năng và khả năng chính của PaddlePaddle trong tài liệu chính thức của PaddlePaddle.
PaddlePaddle, do Baidu phát triển, được tối ưu cho việc triển khai AI trong công nghiệp và thương mại. Cộng đồng developer lớn cùng framework mạnh mẽ của nền tảng cung cấp nhiều công cụ tương tự TensorFlow và PyTorch. Bằng cách xuất model YOLO26 sang PaddlePaddle, bạn có thể tận dụng:
- Hiệu năng nâng cao: Tốc độ thực thi tối ưu và mức sử dụng bộ nhớ giảm.
- Tính linh hoạt: Khả năng tương thích rộng với nhiều thiết bị, từ smartphone đến cloud server.
- Khả năng mở rộng: Năng lực xử lý song song hiệu quả trong các môi trường phân tán.
Những tính năng này khiến PaddlePaddle trở thành lựa chọn hấp dẫn để triển khai model YOLO26 trong môi trường production.
PaddlePaddle sử dụng một số kỹ thuật nâng cao để tối ưu hiệu năng model:
- Đồ thị động sang tĩnh: Chuyển model thành đồ thị tính toán tĩnh để tối ưu hóa khi chạy.
- Hợp nhất operator: Kết hợp các operation tương thích để giảm thiểu việc truyền dữ liệu trong bộ nhớ và tăng tốc inference.
- Lượng tử hóa: Giảm kích thước model và tăng hiệu quả bằng cách sử dụng dữ liệu có độ chính xác thấp hơn, đồng thời duy trì độ chính xác.
Các kỹ thuật này ưu tiên việc thực thi model hiệu quả, khiến PaddlePaddle trở thành lựa chọn tuyệt vời để triển khai các model YOLO26 hiệu năng cao. Để tìm hiểu thêm về tối ưu hóa, hãy xem tài liệu chính thức của PaddlePaddle.
PaddlePaddle cung cấp các tùy chọn triển khai linh hoạt:
- Paddle Serving: Triển khai model dưới dạng RESTful API, phù hợp với production nhờ các tính năng như quản lý phiên bản model và A/B testing trực tuyến.
- Paddle Inference API: Cung cấp quyền kiểm soát ở mức thấp đối với việc thực thi model cho các ứng dụng tùy chỉnh.
- Paddle Lite: Tối ưu model cho tài nguyên hạn chế của các thiết bị di động và thiết bị nhúng.
- Paddle.js: Cho phép triển khai model trực tiếp trong trình duyệt web.
Các tùy chọn này bao quát nhiều tình huống triển khai, từ inference trên thiết bị đến các cloud service có khả năng mở rộng. Khám phá thêm các chiến lược triển khai trên trang Tùy chọn triển khai model của Ultralytics.