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

CoreML Xuất khẩu cho YOLOv8 Mô hình

Triển khai các mô hình thị giác máy tính trên các thiết bị của Apple như iPhone và Mac đòi hỏi một định dạng đảm bảo hiệu suất liền mạch.

Các CoreML Định dạng xuất cho phép bạn tối ưu hóa Ultralytics YOLOv8 các mô hình để phát hiện đối tượng hiệu quả trong các ứng dụng iOS và macOS. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn các bước để chuyển đổi mô hình của bạn sang CoreML đị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ị Apple.

CoreML

CoreML Tổng quan

CoreML là khung học máy nền tảng của Apple được xây dựng dựa trên Accelerate, BNNS và Metal Performance Shader. Nó cung cấp định dạng mô hình học máy tích hợp liền mạch vào các ứng dụng iOS và hỗ trợ các tác vụ như phân tích hình ảnh, xử lý ngôn ngữ tự nhiên, chuyển đổi âm thanh thành văn bản và phân tích âm thanh.

Các ứng dụng có thể tận dụng Core ML mà không cần phải có kết nối mạng hoặc lệnh gọi API vì khung Core ML hoạt động bằng cách sử dụng điện toán trên thiết bị. Điều này có nghĩa là suy luận mô hình có thể được thực hiện cục bộ trên thiết bị của người dùng.

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

Của Apple CoreML Framework cung cấp các tính năng mạnh mẽ cho máy học trên thiết bị. Dưới đây là các tính năng chính tạo nên CoreML Một công cụ mạnh mẽ cho các nhà phát triển:

  • Hỗ trợ mô hình toàn diện: Chuyển đổi và chạy các mô hình từ các khung phổ biến như TensorFlow, PyTorch, scikit-learn, XGBoost và LibSVM.

CoreML Mô hình được hỗ trợ

  • Học máy trên thiết bị: Đảm bảo quyền riêng tư dữ liệu và xử lý nhanh chóng bằng cách thực hiện các mô hình trực tiếp trên thiết bị của người dùng, loại bỏ nhu cầu kết nối mạng.

  • Hiệu suất và Tối ưu hóa: Sử dụng CPU, GPU và Neural Engine của thiết bị để có hiệu suất tối ưu với mức sử dụng năng lượng và bộ nhớ tối thiểu. Cung cấp các công cụ để nén và tối ưu hóa mô hình trong khi vẫn duy trì độ chính xác.

  • Dễ tích hợp: Cung cấp định dạng thống nhất cho các loại mô hình khác nhau và API thân thiện với người dùng để tích hợp liền mạch vào ứng dụng. Hỗ trợ các tác vụ dành riêng cho miền thông qua các khung như Tầm nhìn và Ngôn ngữ tự nhiên.

  • Tính năng nâng cao: Bao gồm các khả năng đào tạo trên thiết bị cho trải nghiệm được cá nhân hóa, dự đoán không đồng bộ cho trải nghiệm ML tương tác cũng như các công cụ kiểm tra và xác thực mô hình.

CoreML Tùy chọn triển khai

Before we look at the code for exporting YOLOv8 models to the CoreML format, let's understand where CoreML models are usually used.

CoreML Cung cấp các tùy chọn triển khai khác nhau cho các mô hình học máy, bao gồm:

  • Triển khai trên thiết bị: Phương pháp này tích hợp trực tiếp CoreML mô hình vào ứng dụng iOS của bạn. Nó đặc biệt thuận lợi để đảm bảo độ trễ thấp, quyền riêng tư nâng cao (vì dữ liệu vẫn còn trên thiết bị) và chức năng ngoại tuyến. Tuy nhiên, cách tiếp cận này có thể bị hạn chế bởi khả năng phần cứng của thiết bị, đặc biệt là đối với các mẫu lớn hơn và phức tạp hơn. Triển khai trên thiết bị có thể được thực hiện theo hai cách sau.

    • Mô hình nhúng: Các mô hình này được bao gồm trong gói ứng dụng và có thể truy cập ngay lập tức. Chúng lý tưởng cho các mô hình nhỏ không yêu cầu cập nhật thường xuyên.

    • Mô hình đã tải xuống: Các mô hình này được tìm nạp từ máy chủ khi cần. Cách tiếp cận này phù hợp với các mô hình lớn hơn hoặc những người cần cập nhật thường xuyên. Nó giúp giữ cho kích thước gói ứng dụng nhỏ hơn.

  • Cloud-Based Deployment: CoreML models are hosted on servers and accessed by the iOS app through API requests. This scalable and flexible option enables easy model updates without app revisions. It's ideal for complex models or large-scale apps requiring regular updates. However, it does require an internet connection and may pose latency and security issues​.

Xuất khẩu YOLOv8 Mô hình để CoreML

Xuất khẩu YOLOv8 đến CoreML cho phép tối ưu hóa hiệu suất học máy trên thiết bị trong hệ sinh thái của Apple, mang lại lợi ích về hiệu quả, bảo mật và tích hợp liền mạch với các nền tảng iOS, macOS, watchOS và tvOS.

Cài đặt

Để cài đặt gói yêu cầu, 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 YOLOv8 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, 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.

Sử dụng

from ultralytics import YOLO

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

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolov8n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

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

Để biết thêm chi tiết về quy trình xuất, hãy truy cập Ultralytics trang tài liệu về xuất khẩu.

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

Đã xuất thành công Ultralytics YOLOv8 mô hình để CoreML, giai đoạn quan trọng tiếp theo là triển khai các mô hình này một cách hiệu quả. Để được hướng dẫn chi tiết về việc triển khai CoreML Các mô hình trong các môi trường khác nhau, hãy xem các tài nguyên sau:

  • CoreML Công cụ: Hướng dẫn này bao gồm các hướng dẫn và ví dụ để chuyển đổi mô hình từ TensorFlow, PyTorchvà các thư viện khác cho Core ML.

  • ML và Tầm nhìn: Một bộ sưu tập các video toàn diện bao gồm các khía cạnh khác nhau của việc sử dụng và triển khai CoreML Mô hình.

  • Tích hợp Mô hình ML cốt lõi vào ứng dụng của bạn: Hướng dẫn toàn diện về cách tích hợp CoreML mô hình hóa thành một ứng dụng iOS, chi tiết các bước từ chuẩn bị mô hình đến triển khai nó trong ứng dụng cho các chức năng khác nhau.

Tóm tắt

Trong hướng dẫn này, chúng tôi đã xem qua cách xuất Ultralytics YOLOv8 mô hình để CoreML định dạng. Bằng cách làm theo các bước được nêu trong hướng dẫn này, bạn có thể đảm bảo khả năng tương thích và hiệu suất tối đa khi xuất YOLOv8 mô hình để CoreML.

Để biết thêm chi tiết về cách sử dụng, hãy truy cập CoreML Tài liệu chính thức.

Also, if you'd like to know more about other Ultralytics YOLOv8 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.



Created 2024-02-07, Updated 2024-06-10
Authors: glenn-jocher (5), RizwanMunawar (1), abirami-vina (1)

Ý kiến