Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO26 모델을 위한 CoreML 내보내기#

iPhone 및 Mac과 같은 Apple 기기에서 컴퓨터 비전 모델을 배포하려면 원활한 성능을 보장하는 형식이 필요합니다.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

The CoreML export format allows you to optimize your Ultralytics YOLO26 models for efficient object detection in iOS and macOS applications. In this guide, we'll walk you through the steps for converting your models to the CoreML format, making it easier for your models to perform well on Apple devices.

Link to this sectionCoreML#

Apple CoreML deployment pipeline

CoreML은 Accelerate, BNNS 및 Metal Performance Shaders를 기반으로 구축된 Apple의 기초 머신 러닝 프레임워크입니다. 이 프레임워크는 iOS 애플리케이션에 원활하게 통합되고 이미지 분석, 자연어 처리, 음성-텍스트 변환 및 사운드 분석과 같은 작업을 지원하는 머신 러닝 모델 형식을 제공합니다.

애플리케이션은 Core ML 프레임워크가 온디바이스 컴퓨팅을 사용하여 작동하므로 네트워크 연결이나 API 호출 없이도 Core ML을 활용할 수 있습니다. 즉, 모델 추론을 사용자의 기기에서 로컬로 수행할 수 있습니다.

Link to this sectionCoreML 모델의 주요 기능#

Apple의 CoreML 프레임워크는 온디바이스 머신 러닝을 위한 강력한 기능을 제공합니다. 다음은 CoreML을 개발자를 위한 강력한 도구로 만드는 주요 기능입니다.

  • 포괄적인 모델 지원: TensorFlow, PyTorch, scikit-learn, XGBoost 및 LibSVM과 같은 인기 있는 프레임워크의 모델을 변환하고 실행합니다.

CoreML supported deep learning frameworks

  • 온디바이스 머신 러닝: 모델을 사용자 기기에서 직접 실행하여 데이터 프라이버시를 보장하고 네트워크 연결 없이 빠르게 처리합니다.

  • 성능 및 최적화: 기기의 CPU, GPU 및 Neural Engine을 사용하여 최소한의 전력과 메모리 사용량으로 최적의 성능을 냅니다. 정확도를 유지하면서 모델 압축 및 최적화를 위한 도구를 제공합니다.

  • 통합 용이성: 다양한 모델 유형에 대한 통합 형식을 제공하며, 앱에 원활하게 통합할 수 있는 사용자 친화적인 API를 지원합니다. Vision 및 Natural Language와 같은 프레임워크를 통해 도메인별 작업을 지원합니다.

  • 고급 기능: 개인화된 경험을 위한 온디바이스 학습 기능, 대화형 ML 경험을 위한 비동기 예측, 모델 검사 및 유효성 검사 도구가 포함되어 있습니다.

Link to this sectionCoreML 배포 옵션#

YOLO26 모델을 CoreML 형식으로 내보내는 코드를 살펴보기 전에, CoreML 모델이 일반적으로 어디에 사용되는지 이해해 보겠습니다.

CoreML은 다음과 같은 머신 러닝 모델에 대한 다양한 배포 옵션을 제공합니다.

  • 온디바이스 배포: 이 방법은 CoreML 모델을 iOS 앱에 직접 통합합니다. 짧은 지연 시간, 향상된 프라이버시(데이터가 기기에 남음), 오프라인 기능 보장에 특히 유리합니다. 그러나 이 방식은 특히 더 크고 복잡한 모델의 경우 기기의 하드웨어 성능에 제한을 받을 수 있으며, 다음과 같은 두 가지 방법으로 실행할 수 있습니다.

    • 내장 모델(Embedded Models): 이 모델들은 앱 번들에 포함되어 즉시 액세스할 수 있습니다. 자주 업데이트할 필요가 없는 소규모 모델에 이상적입니다.

    • 다운로드 모델(Downloaded Models): 이 모델들은 필요할 때 서버에서 가져옵니다. 이 방식은 더 큰 모델이나 정기적인 업데이트가 필요한 모델에 적합합니다. 앱 번들 크기를 작게 유지하는 데 도움이 됩니다.

  • 클라우드 기반 배포: CoreML 모델을 서버에서 호스팅하고 iOS 앱이 API 요청을 통해 액세스합니다. 확장 가능하고 유연한 이 옵션을 사용하면 앱을 수정하지 않고도 모델을 쉽게 업데이트할 수 있습니다. 복잡한 모델이나 정기적인 업데이트가 필요한 대규모 앱에 이상적입니다. 그러나 인터넷 연결이 필요하며 지연 시간 및 보안 문제가 발생할 수 있습니다.

Link to this sectionYOLO26 모델을 CoreML로 내보내기#

YOLO26을 CoreML로 내보내면 Apple 생태계 내에서 최적화된 온디바이스 머신 러닝 성능을 구현할 수 있으며, 효율성, 보안 및 iOS, macOS, watchOS, tvOS 플랫폼과의 원활한 통합 측면에서 이점을 얻을 수 있습니다.

Link to this section설치#

필요한 패키지를 설치하려면 다음을 실행하십시오:

설치
# Install the required package for YOLO26
pip install ultralytics

설치 과정에 대한 자세한 지침 및 모범 사례는 YOLO26 설치 가이드를 확인하십시오. YOLO26용 패키지를 설치하는 동안 문제가 발생하면 일반 문제 가이드에서 해결책과 팁을 확인하십시오.

Link to this section사용법#

사용 지침을 살펴보기 전에, Ultralytics에서 제공하는 다양한 YOLO26 모델을 확인하십시오. 프로젝트 요구 사항에 가장 적합한 모델을 선택하는 데 도움이 됩니다.

CoreML 형식은 내보내기(Export), 예측(Predict)검증(Validate) 모드를 지원합니다. CoreML을 사용한 추론 및 검증은 macOS에서만 실행됩니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증하십시오.

내보내기 (Export)
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolo26n.mlpackage'
예측 (Predict)
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
검증
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this section내보내기 인수#

인수타입기본값설명
formatstr'coreml'내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다.
imgszint 또는 tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
dynamicboolFalse동적 입력 크기를 허용하여 다양한 이미지 크기를 처리하는 유연성을 향상시킵니다.
halfboolFalseFP16(반정밀도) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 높일 수 있습니다.
int8boolFalseINT8 양자화를 활성화하여 모델을 추가로 압축하고 최소한의 정확도 손실로 주로 엣지 기기에서 추론 속도를 높입니다.
nmsboolFalseNMS(비최댓값 억제)를 추가하며, 정확하고 효율적인 탐지 후 처리에 필수적입니다.
batchint1내보낸 모델의 배치 추론 크기나 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다.
devicestrNone내보내기를 위한 기기를 지정합니다: GPU(device=0), CPU(device=cpu), Apple 실리콘용 MPS(device=mps).

CoreML로 내보낼 때 macOS 또는 x86 Linux 머신을 사용해야 합니다.

내보내기 과정에 대한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 방문하십시오.

Link to this section내보낸 YOLO26 CoreML 모델 배포하기#

Ultralytics YOLO26 모델을 CoreML로 성공적으로 내보냈다면, 다음으로 중요한 단계는 이러한 모델을 효과적으로 배포하는 것입니다. 다양한 환경에서 CoreML 모델을 배포하는 방법에 대한 자세한 지침은 다음 리소스를 확인하십시오:

  • CoreML Tools: 이 가이드에는 TensorFlow, PyTorch 및 기타 라이브러리의 모델을 Core ML로 변환하기 위한 지침과 예제가 포함되어 있습니다.

  • ML 및 Vision: CoreML 모델을 사용하고 구현하는 다양한 측면을 다루는 포괄적인 비디오 모음입니다.

  • 앱에 Core ML 모델 통합하기: CoreML 모델을 iOS 애플리케이션에 통합하는 방법에 대한 포괄적인 가이드로, 모델 준비부터 다양한 기능을 위해 앱 내에서 구현하는 단계까지 자세히 설명합니다.

Link to this section요약#

이 가이드에서는 Ultralytics YOLO26 모델을 CoreML 형식으로 내보내는 방법을 살펴보았습니다. 이 가이드에 설명된 단계를 따르면 YOLO26 모델을 CoreML로 내보낼 때 최대의 호환성과 성능을 보장할 수 있습니다.

사용법에 대한 자세한 내용은 CoreML 공식 문서를 방문하십시오.

또한, 다른 Ultralytics YOLO26 통합에 대해 더 알고 싶다면 통합 가이드 페이지를 방문하십시오. 그곳에서 많은 귀중한 리소스와 통찰력을 얻을 수 있습니다.

Link to this section자주 묻는 질문(FAQ)#

Link to this sectionYOLO26 모델을 CoreML 형식으로 어떻게 내보내나요?#

Ultralytics YOLO26 모델을 CoreML 형식으로 내보내려면 먼저 ultralytics 패키지가 설치되어 있는지 확인해야 합니다. 다음 명령어로 설치할 수 있습니다:

설치
pip install ultralytics

그런 다음 다음 Python 또는 CLI 명령을 사용하여 모델을 내보낼 수 있습니다:

사용법
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreml")

자세한 내용은 문서의 YOLO26 모델을 CoreML로 내보내기 섹션을 참조하십시오.

Link to this sectionYOLO26 모델 배포에 CoreML을 사용할 때의 이점은 무엇인가요?#

CoreML은 Apple 기기에서 Ultralytics YOLO26 모델을 배포할 때 다음과 같은 수많은 이점을 제공합니다:

  • 온디바이스 처리: 기기에서 로컬 모델 추론을 가능하게 하여 데이터 프라이버시를 보장하고 지연 시간을 최소화합니다.
  • 성능 최적화: 기기의 CPU, GPU 및 Neural Engine의 잠재력을 최대한 활용하여 속도와 효율성을 모두 최적화합니다.
  • 통합 용이성: iOS, macOS, watchOS 및 tvOS를 포함한 Apple의 생태계와 원활한 통합 경험을 제공합니다.
  • 범용성: CoreML 프레임워크를 사용하여 이미지 분석, 오디오 처리 및 자연어 처리와 같은 광범위한 머신 러닝 작업을 지원합니다.

CoreML 모델을 iOS 앱에 통합하는 방법에 대한 자세한 내용은 앱에 Core ML 모델 통합하기 가이드를 확인하십시오.

Link to this sectionCoreML로 내보낸 YOLO26 모델의 배포 옵션은 무엇인가요?#

YOLO26 모델을 CoreML 형식으로 내보내면 다음과 같은 여러 배포 옵션을 선택할 수 있습니다:

  1. 온디바이스 배포: 향상된 프라이버시와 오프라인 기능을 위해 CoreML 모델을 앱에 직접 통합합니다. 이 작업은 다음 방식으로 수행할 수 있습니다:

    • 내장 모델: 앱 번들에 포함되어 즉시 액세스 가능합니다.
    • 다운로드 모델: 필요할 때 서버에서 가져와 앱 번들 크기를 작게 유지합니다.
  2. 클라우드 기반 배포: CoreML 모델을 서버에서 호스팅하고 API 요청을 통해 액세스합니다. 이 방식은 업데이트가 더 쉬우며 더 복잡한 모델을 처리할 수 있습니다.

CoreML 모델 배포에 대한 자세한 지침은 CoreML 배포 옵션을 참조하십시오.

Link to this sectionCoreML은 YOLO26 모델의 최적화된 성능을 어떻게 보장하나요?#

CoreML은 다양한 최적화 기술을 활용하여 Ultralytics YOLO26 모델의 최적화된 성능을 보장합니다:

  • 하드웨어 가속: 효율적인 계산을 위해 기기의 CPU, GPU 및 Neural Engine을 사용합니다.
  • 모델 압축: 정확도를 저하시키지 않으면서 모델의 차지 공간을 줄이기 위해 모델을 압축하는 도구를 제공합니다.
  • 적응형 추론: 기기의 성능에 따라 추론을 조정하여 속도와 성능 사이의 균형을 유지합니다.

성능 최적화에 대한 자세한 내용은 CoreML 공식 문서를 방문하십시오.

Link to this section내보낸 CoreML 모델로 직접 추론을 실행할 수 있나요?#

네, 내보낸 CoreML 모델을 사용하여 직접 추론을 실행할 수 있습니다. 다음은 Python 및 CLI에 대한 명령입니다:

추론 실행
from ultralytics import YOLO

coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")

추가 정보는 CoreML 내보내기 가이드의 사용법 섹션을 참조하십시오.

댓글