콘텐츠로 건너뛰기

원활한 배포를 위해 YOLO11에서 NCNN으로 내보내는 방법

모바일 또는 임베디드 시스템과 같이 컴퓨팅 성능이 제한된 장치에 컴퓨터 비전 모델을 배포하는 것은 까다로울 수 있습니다. 최적의 성능을 위해 최적화된 형식을 사용해야 합니다. 이렇게 하면 처리 능력이 제한된 장치에서도 고급 컴퓨터 비전 작업을 잘 처리할 수 있습니다.

NCNN 형식으로 내보내는 기능은 경량 장치 기반 애플리케이션에 맞게 Ultralytics YOLO11 모델을 최적화할 수 있도록 지원합니다. 이 가이드에서는 모델을 NCNN 형식으로 변환하여 다양한 모바일 및 임베디드 장치에서 모델의 성능을 향상시키는 방법을 안내합니다.

NCNN으로 내보내야 하는 이유는 무엇입니까?

NCNN 개요

Tencent에서 개발한 NCNN 프레임워크는 휴대폰, 임베디드 장치 및 IoT 장치를 포함한 모바일 플랫폼에 특화되어 최적화된 고성능 신경망 추론 컴퓨팅 프레임워크입니다. NCNN은 Linux, Android, iOS 및 macOS를 포함한 광범위한 플랫폼과 호환됩니다.

NCNN은 모바일 CPU에서 빠른 처리 속도를 제공하며 딥 러닝 모델을 모바일 플랫폼에 신속하게 배포할 수 있도록 지원합니다. 이를 통해 스마트 앱을 더 쉽게 구축하여 AI의 강력한 기능을 손쉽게 사용할 수 있습니다.

NCNN 모델의 주요 기능

NCNN 모델은 개발자가 모바일, 임베디드 및 엣지 장치에서 모델을 실행할 수 있도록 지원하여 장치 내 머신 러닝을 가능하게 하는 광범위한 주요 기능을 제공합니다.

  • 효율적이고 고성능: NCNN 모델은 효율적이고 가볍게 만들어졌으며, 리소스가 제한된 Raspberry Pi와 같은 모바일 및 임베디드 장치에서 실행되도록 최적화되었습니다. 또한 다양한 컴퓨터 비전 기반 작업에서 높은 정확도로 높은 성능을 달성할 수 있습니다.

  • 양자화: NCNN 모델은 모델의 가중치 및 활성화의 정밀도를 줄이는 기술인 양자화를 지원하는 경우가 많습니다. 이는 성능을 더욱 향상시키고 메모리 공간을 줄입니다.

  • 호환성: NCNN 모델은 TensorFlow, CaffeONNX와 같은 널리 사용되는 딥 러닝 프레임워크와 호환됩니다. 이러한 호환성을 통해 개발자는 기존 모델과 워크플로우를 쉽게 사용할 수 있습니다.

  • 사용 용이: NCNN 모델은 널리 사용되는 딥러닝 프레임워크와의 호환성 덕분에 다양한 애플리케이션에 쉽게 통합되도록 설계되었습니다. 또한 NCNN은 다양한 형식 간에 모델을 변환하는 사용자 친화적인 도구를 제공하여 개발 환경 전반에서 원활한 상호 운용성을 보장합니다.

NCNN을 사용한 배포 옵션

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

효율성과 성능을 위해 설계된 NCNN 모델은 다양한 배포 플랫폼과 호환됩니다.

  • 모바일 배포: Android 및 iOS에 대해 특별히 최적화되어 효율적인 장치 내 추론을 위해 모바일 애플리케이션에 원활하게 통합할 수 있습니다.

  • 임베디드 시스템 및 IoT 장치: Ultralytics 가이드를 사용하여 Raspberry Pi에서 추론을 실행하는 속도가 충분히 빠르지 않다고 판단되면 NCNN으로 내보낸 모델로 전환하면 속도를 높이는 데 도움이 될 수 있습니다. NCNN은 Raspberry Pi 및 NVIDIA Jetson과 같은 장치에 특히 적합하며, 장치에서 직접 빠른 처리가 필요한 경우에 유용합니다.

  • 데스크톱 및 서버 배포: Linux, Windows 및 macOS에서 데스크톱 및 서버 환경에 배포할 수 있으며, 더 높은 컴퓨팅 용량으로 개발, 훈련 및 평가를 지원합니다.

NCNN으로 내보내기: YOLO11 모델 변환

YOLO11 모델을 NCNN 형식으로 변환하여 모델 호환성 및 배포 유연성을 확장할 수 있습니다.

설치

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

설치

# Install the required package for YOLO11
pip install ultralytics

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

사용법

모든 Ultralytics YOLO11 모델은 기본적으로 내보내기를 지원하도록 설계되어 선호하는 배포 워크플로에 쉽게 통합할 수 있습니다. 지원되는 전체 내보내기 형식 및 구성 옵션 목록을 확인하여 애플리케이션에 가장 적합한 설정을 선택할 수 있습니다.

사용법

from ultralytics import YOLO

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

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

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

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

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

인수 내보내기

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

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

내보낸 YOLO11 NCNN 모델 배포

Ultralytics YOLO11 모델을 NCNN 형식으로 성공적으로 내보낸 후 배포할 수 있습니다. NCNN 모델을 실행하는 기본적이며 권장되는 첫 번째 단계는 이전 사용 코드 스니펫에 설명된 대로 YOLO("yolo11n_ncnn_model/") 메서드를 활용하는 것입니다. 그러나 다양한 다른 설정에서 NCNN 모델을 배포하는 방법에 대한 자세한 내용은 다음 리소스를 참조하십시오.

  • Android: 이 블로그에서는 Android 애플리케이션을 통해 객체 감지와 같은 작업을 수행하기 위해 NCNN 모델을 사용하는 방법을 설명합니다.

  • macOS: macOS를 통해 작업을 수행하기 위해 NCNN 모델을 사용하는 방법을 이해합니다.

  • Linux: Raspberry Pi와 같이 제한된 리소스 장치에 NCNN 모델을 배포하는 방법을 알아보려면 이 페이지를 살펴보십시오.

  • VS2017을 사용하는 Windows x64: Visual Studio Community 2017을 사용하여 windows x64에 NCNN 모델을 배포하는 방법을 알아보려면 이 블로그를 살펴보십시오.

요약

이 가이드에서는 Ultralytics YOLO11 모델을 NCNN 형식으로 내보내는 과정을 살펴보았습니다. 이 변환 단계는 YOLO11 모델의 효율성과 속도를 향상시켜 제한된 리소스 컴퓨팅 환경에서 보다 효과적이고 적합하게 만드는 데 매우 중요합니다.

자세한 사용법은 공식 NCNN 설명서를 참조하십시오.

또한 Ultralytics YOLO11에 대한 다른 통합 옵션을 탐색하는 데 관심이 있으시면 자세한 내용과 정보를 보려면 통합 가이드 페이지를 방문하십시오.

FAQ

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

Ultralytics YOLO11 모델을 NCNN 형식으로 내보내려면 다음 단계를 따르십시오.

  • Python: 다음을 사용하십시오. export YOLO 클래스의 함수입니다.

    from ultralytics import YOLO
    
    # Load the YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'
    
  • CLI: 다음을 사용하십시오. yolo 명령어: export 인수입니다.

    yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
    

자세한 내보내기 옵션은 설명서의 내보내기 페이지를 확인하십시오.

YOLO11 모델을 NCNN으로 내보낼 때의 장점은 무엇인가요?

Ultralytics YOLO11 모델을 NCNN으로 내보내면 다음과 같은 여러 이점이 있습니다:

  • 효율성: NCNN 모델은 모바일 및 임베디드 장치에 최적화되어 제한된 컴퓨팅 리소스에서도 높은 성능을 보장합니다.
  • 양자화: NCNN은 모델 속도를 향상시키고 메모리 사용량을 줄이는 양자화와 같은 기술을 지원합니다.
  • 광범위한 호환성: Android, iOS, Linux 및 macOS를 포함한 여러 플랫폼에서 NCNN 모델을 배포할 수 있습니다.

자세한 내용은 문서의 NCNN으로 내보내기 섹션을 참조하세요.

모바일 AI 애플리케이션에 NCNN을 사용해야 하는 이유는 무엇인가요?

Tencent에서 개발한 NCNN은 특히 모바일 플랫폼에 최적화되어 있습니다. NCNN을 사용해야 하는 주요 이유는 다음과 같습니다.

  • 높은 성능: 모바일 CPU에서 효율적이고 빠른 처리를 위해 설계되었습니다.
  • 교차 플랫폼: TensorFlow 및 ONNX와 같은 널리 사용되는 프레임워크와 호환되므로 다양한 플랫폼에서 모델을 더 쉽게 변환하고 배포할 수 있습니다.
  • 커뮤니티 지원: 활발한 커뮤니티 지원은 지속적인 개선과 업데이트를 보장합니다.

자세한 내용은 문서에서 NCNN 개요를 참조하십시오.

NCNN 모델 배포는 어떤 플랫폼을 지원합니까?

NCNN은 다양한 플랫폼을 지원하는 다재다능한 도구입니다.

  • 모바일: Android, iOS.
  • 임베디드 시스템 및 IoT 장치: Raspberry Pi 및 NVIDIA Jetson과 같은 장치.
  • 데스크톱 및 서버: Linux, Windows 및 macOS.

Raspberry Pi에서 모델 실행 속도가 충분히 빠르지 않다면, Raspberry Pi 가이드에 자세히 설명된 대로 NCNN 형식으로 변환하면 속도를 높일 수 있습니다.

Android에 Ultralytics YOLO11 NCNN 모델을 어떻게 배포할 수 있습니까?

Android에 YOLO11 모델을 배포하려면:

  1. Android용 빌드: NCNN Android용 빌드 가이드를 따르십시오.
  2. 앱과 통합: NCNN Android SDK를 사용하여 내보낸 모델을 애플리케이션에 통합하여 효율적인 온디바이스 추론을 수행합니다.

단계별 지침은 YOLO11 NCNN 모델 배포 가이드를 참조하세요.

더욱 심화된 가이드와 사용 사례는 Ultralytics 문서 페이지를 방문하십시오.



📅 1년 전에 생성됨 ✏️ 4개월 전에 업데이트됨

댓글