ONNX Xuất khẩu cho YOLO11 Mô hình
Thông thường, khi triển khai các mô hình thị giác máy tính , bạn sẽ cần một định dạng mô hình vừa linh hoạt vừa tương thích với nhiều nền tảng.
Xuất các mô hình Ultralytics YOLO11 sang ONNX định dạng hợp lý hóa việc triển khai và đảm bảo hiệu suất tối ưu trên nhiều môi trường khác nhau. Hướng dẫn này sẽ chỉ cho bạn cách dễ dàng chuyển đổi YOLO11 mô hình để ONNX và nâng cao khả năng mở rộng và hiệu quả của chúng trong các ứng dụng thực tế.
ONNX Và ONNX Thời gian chạy
ONNX , viết tắt của Open Neural Network Exchange, là một dự án cộng đồng mà Facebook và Microsoft ban đầu được phát triển. Sự phát triển đang diễn ra của ONNX là một nỗ lực hợp tác được hỗ trợ bởi nhiều tổ chức khác nhau như IBM, Amazon (thông qua AWS) và Google . Dự án nhằm mục đích tạo ra một định dạng tệp mở được thiết kế để biểu diễn các mô hình học máy theo cách cho phép chúng được sử dụng trên nhiều phần cứng và khuôn khổ AI khác nhau.
ONNX các mô hình có thể được sử dụng để chuyển đổi giữa các khuôn khổ khác nhau một cách liền mạch. Ví dụ, một mô hình học sâu được đào tạo trong PyTorch có thể được xuất khẩu sang ONNX định dạng và sau đó dễ dàng nhập vào TensorFlow .
Ngoài ra, ONNX các mô hình có thể được sử dụng với ONNX Thời gian chạy. ONNX Runtime là một trình tăng tốc đa nền tảng linh hoạt cho các mô hình học máy tương thích với các khuôn khổ như PyTorch , TensorFlow , TFLite, scikit-learn, v.v.
ONNX Thời gian chạy tối ưu hóa việc thực hiện ONNX mô hình bằng cách tận dụng các khả năng cụ thể của phần cứng. Việc tối ưu hóa này cho phép các mô hình chạy hiệu quả và có hiệu suất cao trên nhiều nền tảng phần cứng khác nhau, bao gồm CPU, GPU và bộ tăng tốc chuyên dụng.
Cho dù được sử dụng độc lập hay kết hợp với ONNX Thời gian chạy, ONNX cung cấp giải pháp linh hoạt cho việc triển khai và tương thích mô hình học máy.
Các tính năng chính của ONNX Mô hình
Khả năng của ONNX việc xử lý nhiều định dạng khác nhau có thể được quy cho các tính năng chính sau đây:
-
Biểu diễn mô hình chung : ONNX định nghĩa một tập hợp chung các toán tử (như tích chập, lớp, v.v.) và một định dạng dữ liệu chuẩn. Khi một mô hình được chuyển đổi thành ONNX định dạng, kiến trúc và trọng số của nó được dịch thành biểu diễn chung này. Sự đồng nhất này đảm bảo rằng mô hình có thể được hiểu bởi bất kỳ khuôn khổ nào hỗ trợ ONNX .
-
Quản lý phiên bản và khả năng tương thích ngược : ONNX duy trì hệ thống quản lý phiên bản cho các nhà điều hành. Điều này đảm bảo rằng ngay cả khi tiêu chuẩn phát triển, các mô hình được tạo trong các phiên bản cũ hơn vẫn có thể sử dụng được. Khả năng tương thích ngược là một tính năng quan trọng giúp ngăn các mô hình nhanh chóng trở nên lỗi thời.
-
Biểu diễn mô hình dựa trên đồ thị : ONNX biểu diễn các mô hình dưới dạng đồ thị tính toán. Cấu trúc dựa trên đồ thị này là một cách phổ biến để biểu diễn các mô hình học máy, trong đó các nút biểu diễn các phép toán hoặc phép tính và các cạnh biểu diễn các tenxơ chảy giữa chúng. Định dạng này dễ dàng thích ứng với nhiều khuôn khổ khác nhau cũng biểu diễn các mô hình dưới dạng đồ thị.
-
Công cụ và hệ sinh thái : Có một hệ sinh thái công cụ phong phú xung quanh ONNX hỗ trợ chuyển đổi mô hình, trực quan hóa và tối ưu hóa. Các công cụ này giúp các nhà phát triển làm việc dễ dàng hơn ONNX mô hình và chuyển đổi mô hình giữa các khuôn khổ khác nhau một cách liền mạch.
Sử dụng phổ biến của ONNX
Trước khi chúng ta tìm hiểu cách xuất khẩu YOLO11 các mô hình cho ONNX định dạng, chúng ta hãy xem nơi ONNX mô hình thường được sử dụng.
CPU Triển khai
ONNX các mô hình thường được triển khai trên CPU do khả năng tương thích của chúng với ONNX Thời gian chạy. Thời gian chạy này được tối ưu hóa cho CPU thực hiện. Nó cải thiện đáng kể tốc độ suy luận và làm cho thời gian thực CPU triển khai khả thi.
Tùy chọn triển khai được hỗ trợ
Trong khi ONNX Các mô hình thường được sử dụng trên CPU, chúng cũng có thể được triển khai trên các nền tảng sau:
-
Tăng tốc GPU : ONNX hỗ trợ đầy đủ GPU tăng tốc, đặc biệt NVIDIA CUDA . Điều này cho phép thực hiện hiệu quả trên NVIDIA GPU dành cho các tác vụ đòi hỏi sức mạnh tính toán cao.
-
Thiết bị Edge và Di động : ONNX mở rộng đến các thiết bị biên và thiết bị di động, hoàn hảo cho các tình huống suy luận trên thiết bị và thời gian thực. Nó nhẹ và tương thích với phần cứng biên.
-
Trình duyệt web : ONNX có thể chạy trực tiếp trên trình duyệt web, hỗ trợ các ứng dụng AI tương tác và năng động dựa trên web.
Xuất khẩu YOLO11 Các mô hình để ONNX
Bạn có thể mở rộng khả năng tương thích của mô hình và tính linh hoạt triển khai bằng cách chuyển đổi YOLO11 mô hình để ONNX định dạng.
Cài đặt
Để cài đặt gói cần thiết, hãy chạy:
Để biết hướng dẫn chi tiết và các biện 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 YOLO11 của chúng tôi. Trong khi cài đặt các gói cần thiết cho YOLO11 , nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Sự cố thường gặp của chúng tôi để biết giải pháp và mẹo.
Cách sử dụng
Trước khi tìm hiểu hướng dẫn sử dụng, hãy chắc chắn kiểm tra phạm vi các mẫu YOLO11 do Ultralytics cung cấp . Điều này sẽ giúp bạn chọn được mẫu phù hợp nhất cho yêu cầu dự án của mình.
Cách sử dụng
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx") # creates 'yolo11n.onnx'
# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")
# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
Để 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 Đã xuất YOLO11 ONNX Mô hình
Sau khi bạn đã xuất thành công Ultralytics YOLO11 mô hình để ONNX định dạng, bước tiếp theo là triển khai các mô hình này trong nhiều môi trường khác nhau. Để biết hướng dẫn chi tiết về việc triển khai ONNX mô hình, hãy xem các tài nguyên sau:
-
Tài liệu API Python Runtime ONNX : Hướng dẫn này cung cấp thông tin cần thiết để tải và chạy ONNX mô hình sử dụng ONNX Thời gian chạy.
-
Triển khai trên Thiết bị Edge : Kiểm tra trang tài liệu này để biết các ví dụ khác nhau về việc triển khai ONNX mô hình trên cạnh.
-
Hướng dẫn ONNX trên GitHub : Một bộ sưu tập các hướng dẫn toàn diện bao gồm nhiều khía cạnh khác nhau của việc sử dụng và triển khai ONNX mô hình trong các tình huống khác nhau.
Bản tóm tắt
Trong hướng dẫn này, bạn đã học cách xuất Ultralytics YOLO11 mô hình để ONNX định dạng để tăng khả năng tương tác và hiệu suất của chúng trên nhiều nền tảng khác nhau. Bạn cũng đã được giới thiệu về ONNX Thời gian chạy và ONNX tùy chọn triển khai.
Để 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 ONNX .
Ngoài ra, nếu bạn muốn biết thêm về những điều khác Ultralytics YOLO11 tích hợp, hãy truy cập trang hướng dẫn tích hợp của chúng tôi. Bạn sẽ tìm thấy nhiều tài nguyên và thông tin hữu ích ở đó.
CÂU HỎI THƯỜNG GẶP
Làm thế nào để tôi xuất khẩu YOLO11 mô hình để ONNX định dạng sử dụng Ultralytics ?
Để xuất khẩu của bạn YOLO11 mô hình để ONNX định dạng sử dụng Ultralytics , hãy làm theo các bước sau:
Cách sử dụng
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
model.export(format="onnx") # creates 'yolo11n.onnx'
# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")
# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
Để biết thêm chi tiết, hãy truy cập tài liệu xuất khẩu .
Những lợi ích của việc sử dụng là gì? ONNX Thời gian chạy để triển khai YOLO11 mô hình?
Sử dụng ONNX Thời gian chạy để triển khai YOLO11 mô hình cung cấp một số lợi thế:
- Khả năng tương thích đa nền tảng : ONNX Runtime hỗ trợ nhiều nền tảng khác nhau, chẳng hạn như Windows, macOS và Linux, đảm bảo mô hình của bạn chạy mượt mà trên nhiều môi trường khác nhau.
- Tăng tốc phần cứng : ONNX Thời gian chạy có thể tận dụng các tối ưu hóa dành riêng cho phần cứng cho CPU, GPU và bộ tăng tốc chuyên dụng, mang lại khả năng suy luận hiệu suất cao.
- Khả năng tương tác của khung : Các mô hình được đào tạo trong các khung phổ biến như PyTorch hoặc TensorFlow có thể dễ dàng chuyển đổi thành ONNX định dạng và chạy bằng ONNX Thời gian chạy.
Tìm hiểu thêm bằng cách kiểm tra tài liệu ONNX Runtime .
Những tùy chọn triển khai nào có sẵn cho YOLO11 mô hình xuất khẩu sang ONNX ?
YOLO11 mô hình xuất khẩu sang ONNX có thể triển khai trên nhiều nền tảng khác nhau bao gồm:
- CPU : Sử dụng ONNX Thời gian chạy để tối ưu hóa CPU suy luận.
- GPU : Tận dụng NVIDIA CUDA cho hiệu suất cao GPU sự gia tốc.
- Thiết bị biên : Chạy các mô hình nhẹ trên thiết bị biên và thiết bị di động để suy luận theo thời gian thực trên thiết bị.
- Trình duyệt web : Thực hiện mô hình trực tiếp trong trình duyệt web cho các ứng dụng tương tác dựa trên web.
Để biết thêm thông tin, hãy khám phá hướng dẫn của chúng tôi về các tùy chọn triển khai mô hình .
Tại sao tôi nên sử dụng ONNX định dạng cho Ultralytics YOLO11 mô hình?
Sử dụng ONNX định dạng cho Ultralytics YOLO11 mô hình cung cấp nhiều lợi ích:
- Khả năng tương tác : ONNX cho phép chuyển đổi các mô hình giữa các khuôn khổ máy học khác nhau một cách liền mạch.
- Tối ưu hóa hiệu suất : ONNX Thời gian chạy có thể nâng cao hiệu suất mô hình bằng cách sử dụng các tối ưu hóa dành riêng cho phần cứng.
- Tính linh hoạt : ONNX hỗ trợ nhiều môi trường triển khai khác nhau, cho phép bạn sử dụng cùng một mô hình trên nhiều nền tảng khác nhau mà không cần sửa đổi.
Tham khảo hướng dẫn toàn diện về cách xuất mô hình YOLO11 sang ONNX .
Làm thế nào tôi có thể khắc phục sự cố khi xuất YOLO11 mô hình để ONNX ?
Khi xuất khẩu YOLO11 mô hình để ONNX , bạn có thể gặp phải các vấn đề phổ biến như phụ thuộc không khớp hoặc hoạt động không được hỗ trợ. Để khắc phục sự cố này:
- Xác minh rằng bạn đã cài đặt đúng phiên bản các phần phụ thuộc cần thiết.
- Kiểm tra tài liệu chính thức ONNX để biết các tính năng và nhà điều hành được hỗ trợ.
- Xem lại thông báo lỗi để tìm manh mối và tham khảo hướng dẫn Sự cố thường gặp Ultralytics .
Nếu vấn đề vẫn tiếp diễn, hãy liên hệ Ultralytics hỗ trợ thêm.