Bỏ để qua phần nội dung

Tối ưu hóa YOLOv8 Suy luận với Neural MagicCông cụ DeepSparse của

Khi triển khai các mô hình phát hiện đối tượng như Ultralytics YOLOv8 Trên các phần cứng khác nhau, bạn có thể gặp phải các vấn đề độc đáo như tối ưu hóa. Đây là nơi YOLOv8Tích hợp với Neural MagicDeepSparse Engine bước vào. Nó biến đổi cách thức YOLOv8 các mô hình được thực thi và cho phép hiệu suất cấp GPU trực tiếp trên CPU.

Hướng dẫn này chỉ cho bạn cách triển khai YOLOv8 Sử dụng Neural MagicDeepSparse, cách chạy suy luận và cũng là cách đánh giá hiệu suất để đảm bảo nó được tối ưu hóa.

Neural Magic'DeepSparse

Neural MagicTổng quan về DeepSparse

Neural MagicDeepSparse của DeepSparse là một thời gian chạy suy luận được thiết kế để tối ưu hóa việc thực thi các mạng thần kinh 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 thi mạng nơ-ron hiệu quả và có thể mở rộng trên các thiết bị khác nhau.

Lợi ích của việc tích hợp Neural Magic'DeepSparse với YOLOv8

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 nâng cao: Đạt được lên đến 525 FPS (bật YOLOv8n), tăng tốc đáng kể YOLOv8khả năng suy luận của họ so với các phương pháp truyền thống.

Tốc độ suy luận nâng cao

  • Tối ưu hóa hiệu quả mô hình: Sử dụng cắt tỉa và lượng tử hóa để tăng cường YOLOv8hiệu quả, 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.

Tối ưu hóa hiệu quả mô hình

  • Hiệu suất cao trên CPU tiêu chuẩn: Cung cấp hiệu suất giống như GPU 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 YOLOv8 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ợ cho các loại mô hình khác nhau: Tương thích với cả tiêu chuẩn và tối ưu hóa thưa thớt YOLOv8 mô hình, tăng tính linh hoạt trong 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:

  • Sparsity: 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 và nhu cầu tính toán của mạng.

  • Đị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 thi theo chiều sâu, hoàn toàn phù hợp với bộ nhớ cache của CPU. 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 việc sử dụng bộ nhớ cache của CPU.

Thế nào Neural MagicCông nghệ DeepSparse của DeepSparse hoạt động

Để 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 một phiên bản thưa thớt của YOLOv8 Được đào tạo về tập dữ liệu tùy chỉnh

SparseZoo, một kho lưu trữ mô hình mã nguồn mở của Neural MagicCung cấp Một bộ sưu tập pre-sparsified YOLOv8 mô hình trạm kiểm soát. Với SparseML, 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 bộ dữ liệu cụ thể của họ bằng giao diện dòng lệnh đơn giản.

Checkout Neural MagicSparseML của YOLOv8 tài liệu để biết thêm chi tiết.

Cách sử dụng: Triển khai YOLOV8 sử dụng DeepSparse

Triển khai YOLOv8 với Neural MagicDeepSparse của DeepSparse bao gồm một vài bước đơn giản. Trước khi đi sâu vào hướng dẫn sử dụng, hãy chắc chắn kiểm tra phạm vi của YOLOv8 Mô hình được cung cấp bởi Ultralytics. Đ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 bạn. Đâ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:

Cài đặt

# Install the required packages
pip install deepsparse[yolov8]

Bước 2: Xuất khẩu YOLOv8 đến ONNX Định dạng

DeepSparse Engine yêu cầu YOLOv8 Mô hình trong ONNX định dạng. Xuất mô hình của bạn sang định dạng này là điều cần thiết để tương thích với DeepSparse. Sử dụng lệnh sau để xuất YOLOv8 Mô hình:

Xuất mô hình

# Export YOLOv8 model to ONNX format
yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

Lệnh này sẽ lưu yolov8n.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 YOLOv8 Mô hình trong ONNX , 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 API:

Triển khai và chạy suy luận

from deepsparse import Pipeline

# Specify the path to your YOLOv8 ONNX model
model_path = "path/to/yolov8n.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 YOLOv8 mô hình đang hoạt động tối ưu trên DeepSparse. 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

# Benchmark performance
deepsparse.benchmark model_path="path/to/yolov8n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

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ế YOLOv8 trong 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

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolov8n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolov8n.onnx"

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.

Tính năng chú thích hình ảnh

Sau khi chạy lệnh eval, bạn sẽ nhận được cá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 trung bình). Điều này cung cấp cái nhìn toàn diện về hiệu suất mô hình của bạn 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 YOLOv8 mô hình 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á tích hợp Ultralytics' YOLOv8 với Neural Magic'Động cơ DeepSparse. Nó nhấn mạnh cách tích hợp này tăng cường YOLOv8Hiệu suất của nó trên nền tảng CPU, mang lại hiệu quả ở cấp độ GPU và các 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 Neural MagicTài liệu DeepSparse của tôi. Ngoài ra, hãy kiểm tra Neural MagicTài liệu về việc tích hợp với YOLOv8 ở đây và xem một phiên tuyệt vời về nó nhấn vào đây.

Ngoài ra, để hiểu rộng hơn về các loại khác nhau YOLOv8 Tích hợp, hãy truy cập Ultralytics Trang hướng dẫn tích hợp, nơi bạn có thể khám phá một loạt các khả năng tích hợp thú vị khác.



Đã tạo 2023-12-30, Cập nhật 2024-05-18
Tác giả: Glenn-Jocher (4), Abirami-Vina (1)

Ý kiến