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 GPU-cấp hiệu suất 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 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 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 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.

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 trên CPU Nền tảng, cung cấp GPU-cấp hiệu quả 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 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.

FAQ

Là gì Neural MagicCông cụ DeepSparse của và nó tối ưu hóa như thế nào YOLOv8 hiệu năng?

Neural MagicDeepSparse 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 thi các mạng thần kinh 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 YOLOv8, bạn có thể đạt được GPU-giống như hiệu suất trên CPU tiêu chuẩn, nâng cao đá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 Neural Magic'Phần DeepSparse.

Làm thế nào tôi có thể cài đặt các gói cần thiết để triển khai YOLOv8 Sử dụng Neural Magic'DeepSparse?

Cài đặt các gói cần thiết để triển khai YOLOv8 với Neural Magic'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:

pip install deepsparse[yolov8]

Sau khi cài đặt, hãy làm theo các bước được cung cấp trong phần Cài đặt để thiết lập môi trường của bạn và bắt đầu sử dụng DeepSparse với YOLOv8.

Làm cách nào để chuyển đổi YOLOv8 mô hình để ONNX định dạng để sử dụng với DeepSparse?

Để chuyển đổi YOLOv8 mô hình cho ONNX định dạng, được yêu cầu để tương thích với DeepSparse, bạn có thể sử dụng như sau CLI lệnh:

yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

Lệnh này sẽ xuất của bạn YOLOv8 mô hình (yolov8n.pt) sang định dạng (yolov8n.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 để tôi điểm chuẩn YOLOv8 hiệu suất trên DeepSparse Engine?

Điểm chuẩn YOLOv8 hiệu suất 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 như sau: CLI Lệnh để chạy điểm chuẩn:

deepsparse.benchmark model_path="path/to/yolov8n.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 YOLOv8 cho các nhiệm vụ phát hiện đối tượng?

Tích hợp Neural Magic'DeepSparse với YOLOv8 Cung cấp một số lợi ích:

  • Tốc độ suy luận nâng cao: Đạt tới 525 FPS, tăng tốc đáng kể YOLOv8'khả năng của nó.
  • 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.
  • Linh hoạt: Hỗ trợ cả tiêu chuẩn và tối ưu hóa thưa thớt YOLOv8 Mô hình.
  • 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 thế này, hãy truy cập Lợi ích của việc tích hợp Neural Magic'DeepSparse với YOLOv8 phần.



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

Ý kiến