Tối ưu hóa suy luận YOLO11 với Neural Magic Công cụ DeepSparse của 's
Khi triển khai các mô hình phát hiện đối tượng như Ultralytics YOLO11 trên nhiều phần cứng khác nhau, bạn có thể gặp phải các vấn đề riêng biệt như tối ưu hóa. Đây là nơi tích hợp YOLO11 với Neural Magic 'DeepSparse Engine bước vào. Nó chuyển đổi cách các mô hình YOLO11 được thực thi và cho phép GPU - Hiệu suất cấp độ trực tiếp trên CPU.
Hướng dẫn này chỉ cho bạn cách triển khai YOLO11 bằng cách sử dụng Neural Magic 's DeepSparse, cách chạy suy luận và cách đánh giá hiệu suất để đảm bảo hiệu suất được tối ưu hóa.
Neural Magic'DeepSparse
DeepSparse của Neural Magic là một thời gian chạy suy luận được thiết kế để tối ưu hóa việc thực hiện các mạng nơ-ron trên CPU. Nó áp dụng các kỹ thuật tiên tiến như thưa thớt, cắt tỉa và lượng tử hóa để giảm đáng kể nhu cầu tính toán trong khi vẫn duy trì độ chính xác. DeepSparse cung cấp một giải pháp nhanh nhẹn để thực hiện mạng nơ-ron hiệu quả và có thể mở rộng trên nhiều thiết bị khác nhau.
Lợi ích của việc tích hợp Neural Magic 's DeepSparse với YOLO11
Trước khi đi sâu vào cách triển khai YOLOV8 sử dụng DeepSparse, chúng ta hãy hiểu những lợi ích của việc sử dụng DeepSparse. Một số lợi thế chính bao gồm:
- Tốc độ suy luận được cải thiện : Đạt tới 525 FPS (trên YOLO11n), tăng tốc đáng kể khả năng suy luận của YOLO11 so với các phương pháp truyền thống.
- Hiệu quả mô hình được tối ưu hóa : Sử dụng phương pháp cắt tỉa và lượng tử hóa để nâng cao hiệu quả của YOLO11, giảm kích thước mô hình và yêu cầu tính toán trong khi vẫn duy trì độ chính xác .
Hiệu suất cao trên CPU tiêu chuẩn: Cung cấp GPU-giống như hiệu suất trên CPU, cung cấp tùy chọn dễ tiếp cận và tiết kiệm chi phí hơn cho các ứng dụng khác nhau.
Tích hợp và triển khai hợp lý : Cung cấp các công cụ thân thiện với người dùng để dễ dàng tích hợp YOLO11 vào các ứng dụng, bao gồm các tính năng chú thích hình ảnh và video.
Hỗ trợ nhiều loại mô hình khác nhau : Tương thích với cả mô hình YOLO11 tiêu chuẩn và được tối ưu hóa về độ thưa thớt, tăng thêm tính linh hoạt khi triển khai.
Giải pháp hiệu quả về chi phí và có thể mở rộng: Giảm chi phí hoạt động và cung cấp khả năng triển khai có thể mở rộng các mô hình phát hiện đối tượng tiên tiến.
Làm thế nào Neural MagicCông nghệ DeepSparse của DeepSparse hoạt động?
Neural MagicCông nghệ Deep Sparse của Deep Sparse được lấy cảm hứng từ hiệu quả của bộ não con người trong tính toán mạng thần kinh. Nó áp dụng hai nguyên tắc chính từ não như sau:
Tính thưa thớt : Quá trình thưa thớt liên quan đến việc cắt tỉa thông tin dư thừa từ các mạng học sâu , dẫn đến các mô hình nhỏ hơn và nhanh hơn mà không ảnh hưởng đến độ chính xác. Kỹ thuật này làm giảm đáng kể kích thước mạng và nhu cầu tính toán.
Địa phương tham chiếu: DeepSparse sử dụng một phương thức thực thi duy nhất, chia mạng thành Tensor Cột. Các cột này được thực hiện theo chiều sâu, hoàn toàn phù hợp với CPU'bộ nhớ cache. Cách tiếp cận này bắt chước hiệu quả của não, giảm thiểu chuyển động dữ liệu và tối đa hóa CPU's sử dụng bộ nhớ cache.
Để biết thêm chi tiết về cách thực hiện Neural MagicCông nghệ DeepSparse của DeepSparse hoạt động, hãy xem bài đăng trên blog của họ.
Tạo phiên bản thưa thớt của YOLO11 được đào tạo trên một tập dữ liệu tùy chỉnh
SparseZoo, một kho lưu trữ mô hình nguồn mở của Neural Magic , cung cấp một bộ sưu tập các điểm kiểm tra mô hình YOLO11 được phân tán trước . Với SparseML, được tích hợp liền mạch với Ultralytics , người dùng có thể dễ dàng tinh chỉnh các điểm kiểm tra thưa thớt này trên các tập dữ liệu cụ thể của họ bằng giao diện dòng lệnh đơn giản.
Tham khảo tài liệu SparseML YOLO11 của Neural Magic để biết thêm chi tiết.
Cách sử dụng: Triển khai YOLOV8 sử dụng DeepSparse
Triển khai YOLO11 với Neural Magic DeepSparse bao gồm một vài bước đơn giản. Trước khi tìm hiểu hướng dẫn sử dụng, hãy nhớ xem qua phạm vi các mô hình YOLO11 do Ultralytics cung cấp . Điều này sẽ giúp bạn chọn mô hình phù hợp nhất cho yêu cầu dự án của mình. Sau đây là cách bạn có thể bắt đầu.
Bước 1: Cài đặt
Để cài đặt các gói cần thiết, hãy chạy:
Bước 2: Xuất YOLO11 sang ONNX Định dạng
DeepSparse Engine yêu cầu các mô hình YOLO11 trong ONNX format. Việc xuất mô hình của bạn sang định dạng này là cần thiết để tương thích với DeepSparse. Sử dụng lệnh sau để xuất mô hình YOLO11:
Xuất mô hình
Lệnh này sẽ lưu yolo11n.onnx
mô hình vào ổ đĩa của bạn.
Bước 3: Triển khai và chạy suy luận
Với mô hình YOLO11 của bạn trong ONNX định dạng, bạn có thể triển khai và chạy suy luận bằng DeepSparse. Điều này có thể được thực hiện dễ dàng với trực quan của họ Python Giao diện lập trình ứng dụng (API):
Triển khai và chạy suy luận
from deepsparse import Pipeline
# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)
Bước 4: Hiệu suất đo điểm chuẩn
Điều quan trọng là phải kiểm tra xem mô hình YOLO11 của bạn có hoạt động tối ưu trên DeepSparse hay không. Bạn có thể đánh giá hiệu suất của mô hình để phân tích thông lượng và độ trễ:
Điểm chuẩn
Bước 5: Các tính năng bổ sung
DeepSparse cung cấp các tính năng bổ sung để tích hợp thực tế YOLO11 vào các ứng dụng, chẳng hạn như chú thích hình ảnh và đánh giá tập dữ liệu.
Các tính năng bổ sung
Chạy lệnh annotate xử lý hình ảnh được chỉ định của bạn, phát hiện các đối tượng và lưu hình ảnh được chú thích với các hộp giới hạn và phân loại. Hình ảnh được chú thích sẽ được lưu trữ trong thư mục chú thích-kết quả. Điều này giúp cung cấp một đại diện trực quan về khả năng phát hiện của mô hình.
Sau khi chạy lệnh eval, bạn sẽ nhận được số liệu đầu ra chi tiết như độ chính xác , độ thu hồi và mAP (độ chính xác trung bình). Điều này cung cấp cái nhìn toàn diện về hiệu suất của mô hình trên tập dữ liệu. Chức năng này đặc biệt hữu ích để tinh chỉnh và tối ưu hóa các mô hình YOLO11 của bạn cho các trường hợp sử dụng cụ thể, đảm bảo độ chính xác và hiệu quả cao.
Tóm tắt
Hướng dẫn này khám phá việc tích hợp Ultralytics ' YOLO11 với Neural Magic 's DeepSparse Engine. Nó làm nổi bật cách tích hợp này nâng cao hiệu suất của YOLO11 trên CPU nền tảng, cung cấp GPU - hiệu quả cấp độ và kỹ thuật thưa thớt mạng nơ-ron tiên tiến.
Để biết thêm thông tin chi tiết và cách sử dụng nâng cao, hãy truy cập tài liệu DeepSparse của Neural Magic . Ngoài ra, hãy xem Neural Magic Tài liệu về tích hợp với YOLO11 tại đây và xem phiên thảo luận tuyệt vời về vấn đề này tại đây .
Ngoài ra, để hiểu rõ hơn về nhiều tích hợp YOLO11 khác nhau, hãy truy cập trang hướng dẫn tích hợp Ultralytics , nơi bạn có thể khám phá nhiều khả năng tích hợp thú vị khác.
FAQ
Là gì Neural Magic 'DeepSparse Engine và nó tối ưu hóa hiệu suất YOLO11 như thế nào?
Neural Magic 'DeepSparse Engine là một thời gian chạy suy luận được thiết kế để tối ưu hóa việc thực hiện các mạng nơ-ron trên CPU thông qua các kỹ thuật tiên tiến như thưa thớt, cắt tỉa và lượng tử hóa. Bằng cách tích hợp DeepSparse với YOLO11, bạn có thể đạt được GPU - hiệu suất giống như trên CPU tiêu chuẩn, cải thiện đáng kể tốc độ suy luận, hiệu quả mô hình và hiệu suất tổng thể trong khi vẫn duy trì độ chính xác. Để biết thêm chi tiết, hãy xem phần DeepSparse của Neural Magic .
Làm thế nào tôi có thể cài đặt các gói cần thiết để triển khai YOLO11 bằng cách sử dụng Neural Magic 's DeepSparse?
Cài đặt các gói cần thiết để triển khai YOLO11 với Neural Magic 's DeepSparse rất đơn giản. Bạn có thể dễ dàng cài đặt chúng bằng cách sử dụng CLI . Đây là lệnh bạn cần chạy:
Sau khi cài đặt, hãy làm theo các bước trong phần Cài đặt để thiết lập môi trường và bắt đầu sử dụng DeepSparse với YOLO11.
Làm thế nào để tôi chuyển đổi các mô hình YOLO11 sang ONNX định dạng để sử dụng với DeepSparse?
Để chuyển đổi các mô hình YOLO11 sang ONNX định dạng, được yêu cầu để tương thích với DeepSparse, bạn có thể sử dụng sau CLI yêu cầu:
Lệnh này sẽ xuất mô hình YOLO11 của bạn (yolo11n.pt
) sang định dạng (yolo11n.onnx
) có thể được sử dụng bởi DeepSparse Engine. Thông tin thêm về xuất mô hình có thể được tìm thấy trong Phần Xuất mẫu.
Làm thế nào để đánh giá hiệu suất YOLO11 trên DeepSparse Engine?
Đánh giá hiệu suất YOLO11 trên DeepSparse giúp bạn phân tích thông lượng và độ trễ để đảm bảo mô hình của bạn được tối ưu hóa. Bạn có thể sử dụng các mục sau CLI lệnh để chạy chuẩn mực:
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
Lệnh này sẽ cung cấp cho bạn các chỉ số hiệu suất quan trọng. Để biết thêm chi tiết, hãy xem phần Hiệu suất đo điểm chuẩn.
Tại sao tôi nên sử dụng Neural Magic DeepSparse với YOLO11 để thực hiện nhiệm vụ phát hiện đối tượng?
Tích hợp Neural Magic DeepSparse với YOLO11 mang lại một số lợi ích:
- Tốc độ suy luận được cải thiện: Đạt tới 525 FPS, tăng tốc đáng kể khả năng của YOLO11.
- Tối ưu hóa hiệu quả mô hình: Sử dụng các kỹ thuật thưa thớt, cắt tỉa và lượng tử hóa để giảm kích thước mô hình và nhu cầu tính toán trong khi vẫn duy trì độ chính xác.
- Hiệu suất cao trên CPU tiêu chuẩn: Cung cấp GPU-giống như hiệu suất về chi phí hiệu quả CPU phần cứng.
- Tích hợp hợp lý: Các công cụ thân thiện với người dùng để dễ dàng triển khai và tích hợp.
- Tính linh hoạt: Hỗ trợ cả mô hình YOLO11 tiêu chuẩn và được tối ưu hóa về độ thưa thớt.
- Hiệu quả: Giảm chi phí hoạt động thông qua việc sử dụng tài nguyên hiệu quả.
Để tìm hiểu sâu hơn về những lợi ích này, hãy truy cập phần Lợi ích của việc tích hợp DeepSparse của Neural Magic với YOLO11 .