CoreML YOLO11 모델용 내보내기
iPhone 및 Mac과 같은 Apple 디바이스에 컴퓨터 비전 모델을 배포하려면 원활한 성능을 보장하는 형식이 필요합니다.
CoreML 내보내기 형식을 사용하면 모델을 최적화할 수 있습니다. Ultralytics YOLO11 모델을 최적화하여 iOS 및 macOS 애플리케이션에서 효율적으로 객체를 감지할 수 있습니다. 이 가이드에서는 모델을 CoreML 형식으로 변환하는 단계를 안내하여 모델이 Apple 디바이스에서 더 쉽게 작동할 수 있도록 합니다.
CoreML
CoreML 는 Accelerate, BNNS 및 Metal 성능 셰이더를 기반으로 하는 Apple의 기본 머신 러닝 프레임워크입니다. iOS 애플리케이션에 원활하게 통합되는 머신 러닝 모델 형식을 제공하며 이미지 분석, 자연어 처리, 오디오-텍스트 변환, 사운드 분석과 같은 작업을 지원합니다.
Core ML 프레임워크는 온디바이스 컴퓨팅을 사용하여 작동하므로 애플리케이션은 네트워크 연결이나 API 호출 없이도 Core ML을 활용할 수 있습니다. 즉, 사용자의 디바이스에서 로컬로 모델 추론을 수행할 수 있습니다.
CoreML 모델의 주요 기능
Apple의 CoreML 프레임워크는 온디바이스 머신러닝을 위한 강력한 기능을 제공합니다. 다음은 CoreML 을 개발자를 위한 강력한 도구로 만드는 주요 기능입니다:
- 포괄적인 모델 지원: TensorFlow 와 같은 인기 있는 프레임워크에서 모델을 변환하고 실행합니다, PyTorch, scikit-learn, XGBoost, LibSVM 등의 프레임워크에서 모델을 변환하고 실행합니다.
-
온디바이스 머신 러닝: 네트워크 연결이 필요 없이 사용자 디바이스에서 직접 모델을 실행하여 데이터 프라이버시를 보장하고 신속하게 처리합니다.
-
성능 및 최적화: 최소한의 전력과 메모리 사용으로 최적의 성능을 위해 디바이스의 CPU, GPU, Neural Engine을 사용합니다. 정확도를 유지하면서 모델 압축 및 최적화를 위한 도구를 제공합니다.
-
통합의 용이성: 다양한 모델 유형에 대한 통합 형식과 앱에 원활하게 통합할 수 있는 사용자 친화적인 API를 제공합니다. 비전 및 자연어와 같은 프레임워크를 통해 도메인별 작업을 지원합니다.
-
고급 기능: 개인화된 경험을 위한 온디바이스 교육 기능, 대화형 ML 경험을 위한 비동기 예측, 모델 검사 및 검증 도구가 포함되어 있습니다.
CoreML 배포 옵션
YOLO11 모델을 CoreML 형식으로 내보내는 코드를 살펴보기 전에 CoreML 모델이 일반적으로 사용되는 위치를 이해해 보겠습니다.
CoreML 는 다음과 같은 머신 러닝 모델을 위한 다양한 배포 옵션을 제공합니다:
-
온디바이스 배포: 이 방법은 CoreML 모델을 iOS 앱에 직접 통합합니다. 지연 시간이 짧고, 개인정보 보호가 강화되며(데이터가 디바이스에 남아 있기 때문에), 오프라인 기능을 보장하는 데 특히 유리합니다. 그러나 이 접근 방식은 특히 더 크고 복잡한 모델의 경우 디바이스의 하드웨어 기능에 따라 제한될 수 있습니다. 온디바이스 배포는 다음 두 가지 방법으로 실행할 수 있습니다.
-
임베디드 모델: 이 모델은 앱 번들에 포함되어 있으며 즉시 액세스할 수 있습니다. 자주 업데이트할 필요가 없는 소규모 모델에 이상적입니다.
-
다운로드한 모델: 이 모델은 필요에 따라 서버에서 가져옵니다. 이 접근 방식은 대규모 모델이나 정기적인 업데이트가 필요한 모델에 적합합니다. 앱 번들 크기를 작게 유지하는 데 도움이 됩니다.
-
-
클라우드 기반 배포: CoreML 모델은 서버에서 호스팅되며 API 요청을 통해 iOS 앱에서 액세스합니다. 이 확장 가능하고 유연한 옵션을 사용하면 앱을 수정하지 않고도 모델을 쉽게 업데이트할 수 있습니다. 복잡한 모델이나 정기적인 업데이트가 필요한 대규모 앱에 이상적입니다. 하지만 인터넷 연결이 필요하며 지연 시간 및 보안 문제가 발생할 수 있습니다.
YOLO11 모델로 내보내기 CoreML
YOLO11 을 CoreML 으로 내보내면 Apple 에코시스템 내에서 최적화된 온디바이스 머신 러닝 성능을 구현할 수 있으며, 효율성, 보안 및 iOS, macOS, watchOS 및 tvOS 플랫폼과의 원활한 통합 측면에서 이점을 얻을 수 있습니다.
설치
필요한 패키지를 설치하려면 실행합니다:
설치 과정과 관련된 자세한 지침과 모범 사례는 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")
내보내기 인수
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
format |
str |
'coreml' |
내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz |
int 또는 tuple |
640 |
모델 입력에 사용할 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수 또는 튜플일 수 있습니다. (height, width) 를 입력합니다. |
half |
bool |
False |
FP16(반정밀) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 높일 수 있습니다. |
int8 |
bool |
False |
INT8 양자화를 활성화하여 모델을 더욱 압축하고 주로 에지 디바이스의 경우 정확도 손실을 최소화하면서 추론 속도를 높입니다. |
nms |
bool |
False |
정확하고 효율적인 검출 후처리에 필수적인 비최대 억제(NMS)를 추가합니다. |
batch |
int |
1 |
내보내기 모델 일괄 추론 크기 또는 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. predict 모드로 전환합니다. |
내보내기 프로세스에 대한 자세한 내용은 내보내기 관련 문서 페이지(Ultralytics )를 참조하세요.
내보낸 YOLO11 CoreML 모델 배포
Ultralytics YOLO11 모델을 CoreML 로 성공적으로 내보낸 다음 중요한 단계는 이러한 모델을 효과적으로 배포하는 것입니다. 다양한 환경에서 CoreML 모델을 배포하는 방법에 대한 자세한 지침은 다음 리소스를 참조하세요:
-
CoreML 도구: 이 가이드에는 다음에서 모델을 변환하는 지침과 예제가 포함되어 있습니다. TensorFlow, PyTorch, 및 기타 라이브러리에서 Core ML로 모델을 변환하는 지침과 예제가 포함되어 있습니다.
-
ML 및 비전: CoreML 모델 사용 및 구현의 다양한 측면을 다루는 포괄적인 동영상 모음입니다.
-
앱에 핵심 ML 모델 통합하기: CoreML 모델을 iOS 애플리케이션에 통합하는 방법에 대한 포괄적인 가이드로, 모델 준비부터 다양한 기능을 위해 앱에서 구현하는 단계까지 자세히 설명합니다.
요약
이 가이드에서는 Ultralytics YOLO11 모델을 CoreML 형식으로 내보내는 방법을 살펴봤습니다. 이 가이드에 설명된 단계를 따르면 YOLO11 모델을 CoreML 으로 내보낼 때 최대한의 호환성과 성능을 보장할 수 있습니다.
사용법에 대한 자세한 내용은 CoreML 공식 문서를 참조하세요.
또한 다른 통합에 대해 자세히 알고 싶다면 Ultralytics YOLO11 통합 가이드 페이지를 방문하세요. 유용한 리소스와 인사이트를 많이 찾을 수 있습니다.
자주 묻는 질문
YOLO11 모델을 CoreML 형식으로 내보내려면 어떻게 하나요?
내보내려면 Ultralytics YOLO11 모델을 CoreML 형식으로 변환하려면 먼저 ultralytics
패키지가 설치되어 있습니다. 다음을 사용하여 설치할 수 있습니다:
다음으로 다음 Python 또는 CLI 명령을 사용하여 모델을 내보낼 수 있습니다:
사용법
자세한 내용은 YOLO11 모델을 CoreML 으로 내보내기 섹션을 참조하세요.
YOLO11 모델을 배포할 때 CoreML 을 사용하면 어떤 이점이 있나요?
CoreML 모델을 배포할 때 많은 이점을 제공합니다. Ultralytics YOLO11 모델을 배포할 때 많은 이점을 제공합니다:
- 온디바이스 처리: 디바이스에서 로컬 모델 추론을 지원하여 데이터 프라이버시를 보장하고 지연 시간을 최소화합니다.
- 성능 최적화: 기기의 CPU, GPU, Neural Engine의 잠재력을 최대한 활용하여 속도와 효율성을 모두 최적화합니다.
- 손쉬운 통합: iOS , macOS, watchOS, tvOS 등 Apple의 에코시스템과 원활하게 통합할 수 있는 환경을 제공합니다.
- 다목적성: CoreML 프레임워크를 사용하여 이미지 분석, 오디오 처리, 자연어 처리 등 다양한 머신 러닝 작업을 지원합니다.
CoreML 모델을 iOS 앱에 통합하는 방법에 대한 자세한 내용은 핵심 ML 모델을 앱에 통합하기 가이드를 참조하세요.
CoreML 으로 내보낸 YOLO11 모델에 대한 배포 옵션은 무엇인가요?
YOLO11 모델을 CoreML 형식으로 내보내면 여러 배포 옵션을 사용할 수 있습니다:
-
온디바이스 배포: CoreML 모델을 앱에 직접 통합하여 개인정보 보호 및 오프라인 기능을 강화하세요. 이 작업은 다음과 같이 수행할 수 있습니다:
- 임베디드 모델: 앱 번들에 포함되어 있으며 즉시 액세스할 수 있습니다.
- 다운로드한 모델: 필요에 따라 서버에서 가져와 앱 번들 크기를 작게 유지합니다.
-
클라우드 기반 배포: CoreML 모델을 서버에 호스팅하고 API 요청을 통해 액세스합니다. 이 접근 방식은 더 쉬운 업데이트를 지원하며 더 복잡한 모델을 처리할 수 있습니다.
CoreML 모델 배포에 대한 자세한 지침은 CoreML 배포 옵션을 참조하세요.
CoreML 어떻게 YOLO11 모델에 최적화된 성능을 보장하나요?
CoreML 에 최적화된 성능을 보장합니다. Ultralytics YOLO11 모델에 최적화된 성능을 보장합니다:
- 하드웨어 가속: 효율적인 연산을 위해 기기의 CPU, GPU, Neural Engine을 사용합니다.
- 모델 압축: 정확도 저하 없이 모델을 압축하여 설치 공간을 줄일 수 있는 도구를 제공합니다.
- 적응형 추론: 속도와 성능 간의 균형을 유지하기 위해 디바이스의 기능에 따라 추론을 조정합니다.
성능 최적화에 대한 자세한 내용은 CoreML 공식 문서를 참조하세요.
내보낸 CoreML 모델로 직접 추론을 실행할 수 있나요?
예, 내보낸 CoreML 모델을 사용하여 직접 추론을 실행할 수 있습니다. 다음은 Python 및 CLI 에 대한 명령입니다:
추론 실행
자세한 내용은 CoreML 내보내기 가이드의 사용 섹션을 참조하세요.