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

Cách xuất sang NCNN từ YOLOv8 để triển khai suôn sẻ

Triển khai các mô hình thị giác máy tính trên các thiết bị có sức mạnh tính toán hạn chế, chẳng hạn như hệ thống di động hoặc nhúng, có thể khó khăn. Bạn cần đảm bảo rằng bạn sử dụng định dạng được tối ưu hóa để có hiệu suất tối ưu. Điều này đảm bảo rằng ngay cả các thiết bị có sức mạnh xử lý hạn chế cũng có thể xử lý tốt các tác vụ thị giác máy tính tiên tiến.

Việc xuất khẩu sang NCNN Tính năng định dạng cho phép bạn tối ưu hóa Ultralytics YOLOv8 mô hình cho các ứng dụng dựa trên thiết bị nhẹ. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách chuyển đổi mô hình của bạn sang NCNN định dạng, giúp các mô hình của bạn dễ dàng hoạt động tốt hơn trên các thiết bị di động và thiết bị nhúng khác nhau.

Tại sao bạn nên xuất sang NCNN?

NCNN tổng quan

Các NCNN Được phát triển bởi Tencent, là một khung điện toán suy luận mạng nơ-ron hiệu suất cao được tối ưu hóa đặc biệt cho các nền tảng di động, bao gồm điện thoại di động, thiết bị nhúng và thiết bị IoT. NCNN tương thích với nhiều nền tảng, bao gồm Linux, Android, iOSvà macOS.

NCNN được biết đến với tốc độ xử lý nhanh trên CPU di động và cho phép triển khai nhanh chóng các mô hình học sâu lên nền tảng di động. Điều này giúp việc xây dựng các ứng dụng thông minh trở nên dễ dàng hơn, đưa sức mạnh của AI ngay trong tầm tay bạn.

Các tính năng chính của NCNN Mô hình

NCNN Các mô hình cung cấp một loạt các tính năng chính cho phép máy học trên thiết bị bằng cách giúp các nhà phát triển chạy mô hình của họ trên các thiết bị di động, nhúng và biên:

  • Hiệu quả và hiệu suất cao: NCNN Các mô hình được tạo ra để hiệu quả và nhẹ, được tối ưu hóa để chạy trên thiết bị di động và nhúng như Raspberry Pi với tài nguyên hạn chế. Chúng cũng có thể đạt được hiệu suất cao với độ chính xác cao trên các tác vụ dựa trên thị giác máy tính khác nhau.

  • Định lượng hóa: NCNN Các mô hình thường hỗ trợ lượng tử hóa, đây là một kỹ thuật làm giảm độ chính xác của trọng lượng và kích hoạt của mô hình. Điều này dẫn đến những cải tiến hơn nữa về hiệu suất và giảm dung lượng bộ nhớ.

  • Khả năng tương thích: NCNN Các mô hình tương thích với các framework deep learning phổ biến như TensorFlow, CaffeONNX. Khả năng tương thích này cho phép các nhà phát triển sử dụng các mô hình và quy trình làm việc hiện có một cách dễ dàng.

  • Dễ sử dụng: NCNN Các mô hình được thiết kế để dễ dàng tích hợp vào các ứng dụng khác nhau, nhờ khả năng tương thích với các khung học tập sâu phổ biến. Ngoài ra NCNN Cung cấp các công cụ thân thiện với người dùng để chuyển đổi mô hình giữa các định dạng khác nhau, đảm bảo khả năng tương tác trơn tru trên toàn cảnh phát triển.

Tùy chọn triển khai với NCNN

Trước khi chúng ta xem xét mã để xuất YOLOv8 mô hình cho NCNN định dạng, hãy hiểu làm thế nào NCNN Mô hình thường được sử dụng.

NCNN Các mô hình, được thiết kế cho hiệu quả và hiệu suất, tương thích với nhiều nền tảng triển khai khác nhau:

  • Triển khai di động: Tối ưu hóa cụ thể cho Android và iOS, cho phép tích hợp liền mạch vào các ứng dụng di động để suy luận hiệu quả trên thiết bị.

  • Hệ thống nhúng và thiết bị IoT: Nếu bạn thấy rằng chạy suy luận trên Raspberry Pi với Ultralytics Hướng dẫn không đủ nhanh, chuyển sang một NCNN Mô hình xuất khẩu có thể giúp tăng tốc mọi thứ. NCNN rất tốt cho các thiết bị như Raspberry Pi và NVIDIA Jetson, đặc biệt là trong những tình huống bạn cần xử lý nhanh ngay trên thiết bị.

  • Triển khai máy tính để bàn và máy chủ: Có khả năng được triển khai trong môi trường máy tính để bàn và máy chủ trên Linux, Windows và macOS, hỗ trợ phát triển, đào tạo và đánh giá với khả năng tính toán cao hơn.

Xuất sang NCNN: Chuyển đổi của bạn YOLOv8 Mẫu

Bạn có thể mở rộng tính tương thích của mô hình và tính linh hoạt trong triển khai bằng cách chuyển đổi YOLOv8 mô hình để NCNN định dạng.

Cài đặt

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

Cài đặt

# Install the required package for YOLOv8
pip install ultralytics

Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quá trình cài đặt, hãy kiểm tra Ultralytics Hướng dẫn cài đặt. Trong khi cài đặt các gói cần thiết cho YOLOv8, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Các vấn đề thường gặp của chúng tôi để biết các giải pháp và mẹo.

Sử dụng

Trước khi đi sâu vào hướng dẫn sử dụng, điều quan trọng cần lưu ý là trong khi tất cả Ultralytics YOLOv8 Các mô hình có sẵn để xuất, bạn có thể đảm bảo rằng mô hình bạn chọn hỗ trợ chức năng xuất tại đây.

Sử dụng

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolov8n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolov8n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Để biết thêm chi tiết về các tùy chọn xuất được hỗ trợ, hãy truy cập Ultralytics trang tài liệu về các tùy chọn triển khai.

Triển khai xuất khẩu YOLOv8 NCNN Mô hình

Sau khi xuất thành công Ultralytics YOLOv8 mô hình để NCNN định dạng, bây giờ bạn có thể triển khai chúng. Bước đầu tiên chính và được đề xuất để chạy một NCNN Mô hình là sử dụng YOLOPhương thức ("./model_ncnn_model"), như đã nêu trong đoạn mã sử dụng trước. Tuy nhiên, để được hướng dẫn chuyên sâu về cách triển khai NCNN Các mô hình trong nhiều cài đặt khác, hãy xem các tài nguyên sau:

  • Android: Blog này giải thích cách sử dụng NCNN Các mô hình để thực hiện các tác vụ như phát hiện đối tượng thông qua Android Ứng dụng.

  • macOS: Hiểu cách sử dụng NCNN mô hình để thực hiện các tác vụ thông qua macOS.

  • Linux: Khám phá trang này để tìm hiểu cách triển khai NCNN mô hình trên các thiết bị tài nguyên hạn chế như Raspberry Pi và các thiết bị tương tự khác.

  • Windows x64 sử dụng VS2017: Khám phá blog này để tìm hiểu cách triển khai NCNN Mô hình trên Windows x64 sử dụng Visual Studio Community 2017.

Tóm tắt

Trong hướng dẫn này, chúng tôi đã đi qua xuất khẩu Ultralytics YOLOv8 mô hình cho NCNN định dạng. Bước chuyển đổi này rất quan trọng để cải thiện hiệu quả và tốc độ của YOLOv8 mô hình, làm cho chúng hiệu quả hơn và phù hợp với môi trường điện toán tài nguyên hạn chế.

Để được hướng dẫn chi tiết về cách sử dụng, vui lòng tham khảo chính thức NCNN tài liệu.

Ngoài ra, nếu bạn quan tâm đến việc khám phá các tùy chọn tích hợp khác cho Ultralytics YOLOv8, hãy nhớ truy cập trang hướng dẫn tích hợp của chúng tôi để biết thêm thông tin chi tiết.

FAQ

Làm cách nào để xuất Ultralytics YOLOv8 mô hình để NCNN định dạng?

Để xuất Ultralytics YOLOv8 Mô hình để NCNN định dạng, hãy làm theo các bước sau:

  • Python: Sử dụng export hàm từ YOLO lớp.

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI: Sử dụng yolo lệnh với export lý lẽ.

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

Để biết các tùy chọn xuất chi tiết, hãy kiểm tra trang Xuất trong tài liệu.

Những lợi thế của xuất khẩu là gì YOLOv8 mô hình để NCNN?

Xuất khẩu của bạn Ultralytics YOLOv8 mô hình để NCNN Cung cấp một số lợi ích:

  • Hiệu quả: NCNN Các mô hình được tối ưu hóa cho các thiết bị di động và nhúng, đảm bảo hiệu suất cao ngay cả với tài nguyên tính toán hạn chế.
  • Định lượng hóa: NCNN Hỗ trợ các kỹ thuật như lượng tử hóa giúp cải thiện tốc độ mô hình và giảm mức sử dụng bộ nhớ.
  • Khả năng tương thích rộng: Bạn có thể triển khai NCNN mô hình trên nhiều nền tảng, bao gồm Android, iOS, Linux và macOS.

Để biết thêm chi tiết, hãy xem Xuất sang NCNN trong tài liệu.

Tại sao tôi nên sử dụng NCNN cho các ứng dụng AI di động của tôi?

NCNN, được phát triển bởi Tencent, được tối ưu hóa đặc biệt cho các nền tảng di động. Những lý do chính để sử dụng NCNN bao gồm:

  • Hiệu suất cao: Được thiết kế để xử lý hiệu quả và nhanh chóng trên CPU di động.
  • Đa nền tảng: Tương thích với các framework phổ biến như TensorFlow và ONNX, giúp việc chuyển đổi và triển khai các mô hình trên các nền tảng khác nhau trở nên dễ dàng hơn.
  • Hỗ trợ cộng đồng: Hỗ trợ cộng đồng tích cực đảm bảo cải tiến và cập nhật liên tục.

Để hiểu thêm, hãy truy cập NCNN Tổng quan trong tài liệu.

Những nền tảng nào được hỗ trợ NCNN Triển khai mô hình?

NCNN rất linh hoạt và hỗ trợ nhiều nền tảng khác nhau:

  • Di động: Android, iOS.
  • Hệ thống nhúng và thiết bị IoT: Các thiết bị như Raspberry Pi và NVIDIA Máy bay phản lực.
  • Máy tính để bàn và Máy chủ: Linux, Windows và macOS.

Nếu các mô hình đang chạy trên Raspberry Pi không đủ nhanh, hãy chuyển đổi sang NCNN định dạng có thể tăng tốc mọi thứ như chi tiết trong Hướng dẫn Raspberry Pi của chúng tôi.

Tôi có thể triển khai như thế nào Ultralytics YOLOv8 NCNN Mô hình trên Android?

Để triển khai YOLOv8 Mô hình trên Android:

  1. Xây dựng cho Android: Theo NCNN Xây dựng cho Android hướng dẫn.
  2. Tích hợp với ứng dụng của bạn: Sử dụng NCNN Android SDK để tích hợp mô hình đã xuất vào ứng dụng của bạn để suy luận hiệu quả trên thiết bị.

Để biết hướng dẫn từng bước, hãy tham khảo hướng dẫn của chúng tôi về Triển khai YOLOv8 NCNN Mô hình.

Để biết thêm hướng dẫn nâng cao và trường hợp sử dụng, hãy truy cập Ultralytics trang tài liệu.



Đã tạo 2024-03-01, Cập nhật 2024-07-05
Tác giả: Glenn-Jocher (6), Abirami-Vina (1)

Ý kiến