콘텐츠로 건너뛰기

YOLO11 모델용 CoreML 내보내기

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



참고: Apple 장치에서 2배 빠른 추론을 위해 Ultralytics YOLO11을 CoreML로 내보내는 방법 🚀

CoreML 내보내기 형식을 사용하면 iOS 및 macOS 애플리케이션에서 효율적인 객체 감지를 위해 Ultralytics YOLO11 모델을 최적화할 수 있습니다. 이 가이드에서는 모델을 CoreML 형식으로 변환하는 단계를 안내하여 Apple 장치에서 모델이 더 나은 성능을 발휘할 수 있도록 합니다.

CoreML

CoreML 개요

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

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

CoreML 모델의 주요 기능

Apple의 CoreML 프레임워크는 장치 내 머신러닝을 위한 강력한 기능을 제공합니다. CoreML을 개발자를 위한 강력한 도구로 만들어주는 주요 기능은 다음과 같습니다.

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

CoreML 지원 모델

  • 온디바이스 머신러닝: 네트워크 연결 없이 사용자 장치에서 직접 모델을 실행하여 데이터 개인 정보 보호 및 빠른 처리를 보장합니다.

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

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

  • 고급 기능: 개인 맞춤형 경험을 위한 장치 내 훈련 기능, 인터랙티브 ML 경험을 위한 비동기 예측, 모델 검사 및 유효성 검사 도구가 포함되어 있습니다.

CoreML 배포 옵션

YOLO11 모델을 CoreML 형식으로 내보내는 코드에 대해 알아보기 전에 CoreML 모델이 일반적으로 어디에 사용되는지 이해해 보겠습니다.

CoreML은 머신 러닝 모델을 위한 다양한 배포 옵션을 제공합니다:

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

    • 내장 모델: 이러한 모델은 앱 번들에 포함되어 있으며 즉시 액세스할 수 있습니다. 잦은 업데이트가 필요하지 않은 작은 모델에 이상적입니다.

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

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

YOLO11 모델을 CoreML로 내보내기

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

설치

필수 패키지를 설치하려면 다음을 실행합니다.

설치

# Install the required package for YOLO11
pip install ultralytics

설치 프로세스와 관련된 자세한 지침 및 모범 사례는 YOLO11 설치 가이드를 확인하십시오. YOLO11에 필요한 패키지를 설치하는 동안 어려움이 발생하면 일반적인 문제 가이드에서 해결 방법과 팁을 참조하십시오.

사용법

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

사용법

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

인수 내보내기

인수 유형 기본값 설명
format str 'coreml' 다양한 배포 환경과의 호환성을 정의하는 내보낸 모델의 대상 형식입니다.
imgsz int 또는 tuple 640 모델 입력에 대한 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수이거나 튜플일 수 있습니다. (height, width) 특정 크기의 경우.
half bool False FP16(반정밀도) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 높일 수 있습니다.
int8 bool False INT8 양자화를 활성화하여 모델을 더욱 압축하고 정확도 손실을 최소화하면서 추론 속도를 높입니다(주로 에지 장치용).
nms bool False 정확하고 효율적인 탐지 후 처리에 필수적인 NMS(Non-Maximum Suppression)를 추가합니다.
batch int 1 내보내기 모델 배치 추론 크기 또는 내보내기 모델이 동시에 처리할 이미지의 최대 수를 지정합니다. predict mode.
device str None 내보내기할 장치를 지정합니다: GPU (device=0), CPU (device=cpu), Apple Silicon용 MPS (device=mps)입니다.

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

내보내기 프로세스에 대한 자세한 내용은 내보내기에 대한 Ultralytics 문서 페이지를 참조하십시오.

내보낸 YOLO11 CoreML 모델 배포

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

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

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

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

요약

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

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

또한 다른 Ultralytics YOLO11 통합에 대해 더 알고 싶으시면 통합 가이드 페이지를 방문하십시오. 유용한 리소스와 통찰력을 많이 찾을 수 있습니다.

FAQ

YOLO11 모델을 CoreML 형식으로 어떻게 내보냅니까?

내보내려면 Ultralytics YOLO11 모델을 CoreML 형식으로 변환하려면 먼저 다음이 있는지 확인해야 합니다. ultralytics 패키지가 설치되었습니다. 다음을 사용하여 설치할 수 있습니다:

설치

pip install ultralytics

다음으로, 다음 python 또는 CLI 명령을 사용하여 모델을 내보낼 수 있습니다.

사용법

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml

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

YOLO11 모델을 배포하는 데 CoreML을 사용할 때의 이점은 무엇인가요?

CoreML은 Apple 장치에 Ultralytics YOLO11 모델을 배포하는 데 다음과 같은 다양한 이점을 제공합니다.

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

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

CoreML로 내보낸 YOLO11 모델을 위한 배포 옵션은 무엇인가요?

YOLO11 모델을 CoreML 형식으로 내보내면 다음과 같은 여러 배포 옵션을 사용할 수 있습니다.

  1. 온디바이스 배포: 향상된 개인 정보 보호 및 오프라인 기능을 위해 CoreML 모델을 앱에 직접 통합합니다. 다음과 같이 수행할 수 있습니다.

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

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

CoreML은 YOLO11 모델에 최적화된 성능을 어떻게 보장합니까?

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

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

성능 최적화에 대한 자세한 내용은 CoreML 공식 문서를 참조하세요.

내보낸 CoreML 모델로 직접 추론을 실행할 수 있습니까?

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

추론 실행

from ultralytics import YOLO

coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'

자세한 내용은 CoreML 내보내기 가이드의 사용법 섹션을 참조하십시오.



📅 1년 전에 생성됨 ✏️ 24일 전에 업데이트됨

댓글