Ultralytics YOLO27:
Get Started

Cách xuất model YOLO26 sang định dạng PaddlePaddle#

Thu hẹp khoảng cách giữa phát triển và triển khai các model thị giác máy tính trong môi trường thực tế với các điều kiện đa dạng có thể là một thách thức. PaddlePaddle giúp đơn giản hóa quy trình này nhờ chú trọng vào tính linh hoạt, hiệu năng và khả năng xử lý song song trong môi trường phân tán. Điều này cho phép bạn sử dụng model thị giác máy tính YOLO26 trên nhiều thiết bị và nền tảng, từ smartphone đến server trên cloud.



Xem: Cách export model Ultralytics YOLO26 sang định dạng PaddlePaddle | Các tính năng chính của định dạng PaddlePaddle

Khả năng xuất sang định dạng model PaddlePaddle cho phép bạn tối ưu hóa 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 ứ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?#

PaddlePaddle deep learning framework logo

Được Baidu phát triển, PaddlePaddle (Phân phối Song song Học Sâu) 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 trong nhiều ngành.

PaddlePaddle 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 developer ở mọi cấp độ kinh nghiệm đều có thể sử dụng. Từ nông nghiệp, nhà máy đến doanh nghiệp dịch vụ, cộng đồng developer đông đảo với hơn 4,77 triệu thành viên của PaddlePaddle đang góp phần tạo ra và triển khai các ứng dụng AI.

Bằng cách xuất model Ultralytics YOLO26 sang định dạng PaddlePaddle, bạn có thể tận dụng thế mạnh của PaddlePaddle trong tối ưu hóa hiệu năng. PaddlePaddle ưu tiên thực thi model hiệu quả và giảm mức sử dụng bộ nhớ. Nhờ đó, model YOLO26 của bạn có thể đạt hiệu năng tốt hơn nữa và cho 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 có nhiều tính năng chính góp phần tạo nên tính linh hoạt, hiệu năng và khả năng mở rộng trong nhiều kịch bản triển khai khác nhau:

  • Đồ thị động sang tĩnh: PaddlePaddle hỗ trợ biên dịch từ động sang tĩnh, trong đó model có thể được chuyển đổi thành đồ thị tính toán tĩnh. Điều này cho phép áp dụng các tối ưu hóa nhằm giảm overhead khi chạy và cải thiện hiệu năng suy luận.

  • Hợp nhất toán tử: Tương tự TensorRT, PaddlePaddle sử dụng hợp nhất toán tử để tinh giản phép tính và giảm overhead. Framework giảm thiểu việc truyền dữ liệu qua bộ nhớ và số bước tính toán bằng cách hợp nhất các phép toán tương thích, giúp suy luận nhanh hơn.

  • 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 đó cải thiện 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 phần mã xuất model YOLO26 sang PaddlePaddle, hãy cùng xem qua những kịch bản triển khai mà model PaddlePaddle hoạt động hiệu quả.

PaddlePaddle cung cấp nhiều tùy chọn, mỗi tùy chọn tạo ra 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ý lượng lớn request.

  • Paddle Inference API: Paddle Inference API cho phép kiểm soát ở mức thấp đối với quá trình 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 chẽ model vào ứ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 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 hóa model để giảm kích thước và tăng tốc suy luận trên CPU ARM, GPU và phần cứng chuyên dụng khác.

  • Paddle.js: Paddle.js cho phép bạn triển khai model PaddlePaddle trực tiếp 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. Paddle.js có thể chạy trên các trình duyệt hỗ trợ WebGL/WebGPU/WebAssembly.

Các tác vụ được hỗ trợ#

PaddlePaddle hỗ trợ xuất cho cả bảy tác vụ của Ultralytics. Phân đoạn ngữ nghĩa và ước lượng độ sâu chỉ có trên YOLO26, dòng model duy nhất được trang bị các head này.

Tác vụYOLOv8YOLO11YOLO26
Phát hiện✅✅✅
Phân đoạn✅✅✅
Ngữ nghĩa❌❌✅
Độ sâu❌❌✅
Phân loại✅✅✅
Tư thế✅✅✅
OBB✅✅✅

Xuất sang PaddlePaddle: Chuyển đổi model YOLO26#

Chuyển 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 kịch bản triển khai.

Cài đặt#

Để cài đặt package cần thiết, hãy chạy:

Cài đặt
# 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 về quy trình cài đặt, hãy xem 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 tham khảo hướng dẫn khắc phục sự cố thường gặp để tìm giải pháp và mẹo hữu ích.

Cách sử dụng#

Tất cả model Ultralytics YOLO26 đều hỗ trợ xuất; bạn có thể xem danh sách đầy đủ các định dạng và tùy chọn xuất để chọn phương án phù hợp nhất với nhu cầu triển khai.

Đị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 suy luận hoặc xác thực độ chính xác.

Export
from ultralytics import YOLO

# Nạp model YOLO26
model = YOLO("yolo26n.pt")

# Xuất model sang định dạng PaddlePaddle
model.export(format="paddle")  # creates 'yolo26n_paddle_model'
Dự đoán
from ultralytics import YOLO

# Tải model PaddlePaddle đã xuất
model = YOLO("./yolo26n_paddle_model")

# Chạy suy luận
results = model("https://ultralytics.com/images/bus.jpg")
Xác thực
from ultralytics import YOLO

# Tải model PaddlePaddle đã xuất
model = YOLO("./yolo26n_paddle_model")

# # Đánh giá độ chính xác trên bộ dữ liệu COCO8
metrics = model.val(data="coco8.yaml")

Các tham số xuất model#

Đối sốKiểuMặc địnhMô tả
formatstr'paddle'Định dạng đích của model đã xuất, xác định khả năng tương thích với nhiều môi trường triển khai.
imgszint hoặc tuple640Kích thước ảnh mong muốn cho đầu vào model. Có thể là số nguyên cho ảnh vuông hoặc tuple (height, width) để chỉ định kích thước cụ thể.
quantizeint hoặc strNoneChỉ hỗ trợ xuất FP32 cố định. Tính năng xuất PaddlePaddle không hỗ trợ chuyển đổi độ chính xác FP16, INT8 hoặc W8A16 trong quá trình xuất.
batchint1Chỉ định kích thước batch suy luận của model khi xuất hoặc số lượng ảnh tối đa mà model đã xuất xử lý đồng thời ở chế độ predict.
devicestrNoneChỉ định thiết bị dùng để export: 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 model.

Triển khai model YOLO26 PaddlePaddle đã xuất#

Sau khi xuất thành công model Ultralytics YOLO26 sang định dạng PaddlePaddle, bạn có thể triển khai model. Bước đầu tiên được khuyến nghị để chạy model PaddlePaddle là sử dụng phương thức YOLO("yolo26n_paddle_model/"), như đã trình bày trong đoạn mã sử dụng ở phần trước.

Tuy nhiên, để xem hướng dẫn chi tiết 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 thành các service hiệu năng cao bằng Paddle Serving.

  • Paddle Lite: Tìm hiểu cách tối ưu hóa và triển khai model trên thiết bị di động và thiết bị nhúng bằng Paddle Lite.

  • Paddle.js: Tìm hiểu cách chạy model PaddlePaddle trong trình duyệt web để thực hiện 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. Thực hiện theo các bước này sẽ giúp bạn tận dụng thế mạnh của PaddlePaddle trong nhiều kịch bản triển khai, đồng thời tối ưu hóa 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 tìm hiểu 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 giới thiệu nhiều tùy chọn và cung cấp cho bạn các tài nguyên cùng thông tin hữu ích.

Câu hỏi thường gặp#

  • Việc xuất model Ultralytics YOLO26 sang định dạng PaddlePaddle rất đơn giản. Bạn có thể dùng phương thức export của lớp YOLO để thực hiện chuyển đổi. Sau đây là ví dụ sử dụng Python:

    Cách sử dụng
    from ultralytics import YOLO
    
    # Nạp model YOLO26
    model = YOLO("yolo26n.pt")
    
    # Xuất model sang định dạng PaddlePaddle
    model.export(format="paddle")  # creates 'yolo26n_paddle_model'
    
    # Tải model PaddlePaddle đã xuất
    paddle_model = YOLO("./yolo26n_paddle_model")
    
    # Chạy suy luận
    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 sự cố thường gặp.

  • PaddlePaddle mang lại một số ưu điểm chính cho việc triển khai model:

    • Tối ưu hóa 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: Framework hỗ trợ biên dịch từ động sang tĩnh, cho phép tối ưu hóa trong thời gian chạy.
    • Hợp nhất toán tử: Bằng cách hợp nhất các phép toán 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 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. Tìm hiểu 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ẽ cung cấp bộ công cụ phong phú tương tự TensorFlow và PyTorch. Khi 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ớ thấp hơn.
    • Tính linh hoạt: Tương thích rộng với nhiều thiết bị, từ smartphone đến server cloud.
    • Khả năng mở rộng: Hỗ trợ xử lý song song hiệu quả trong 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 tiên tiến để tối ưu hóa 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 trong thời gian chạy.
    • Hợp nhất toán tử: Kết hợp các phép toán tương thích để giảm thiểu truyền dữ liệu qua bộ nhớ và tăng tốc độ suy luận.
    • 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 mà vẫn duy trì độ chính xác.

    Các kỹ thuật này ưu tiên thực thi model hiệu quả, khiến PaddlePaddle trở thành lựa chọn tuyệt vời để triển khai 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 môi trường 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: Cho phép kiểm soát quá trình thực thi model ở mức thấp để sử dụng trong ứng dụng tùy chỉnh.
    • Paddle Lite: Tối ưu hóa model cho các thiết bị di động và thiết bị nhúng có tài nguyên hạn chế.
    • 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 đáp ứng nhiều kịch bản triển khai, từ suy luận trên thiết bị đến dịch vụ cloud có khả năng mở rộng. Tìm hiểu 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.

Bình luận