배포를 위한 YOLO26 모델의 TFLite 내보내기 가이드
컴퓨터 비전 모델을 에지 디바이스나 임베디드 디바이스에 배포하려면 원활한 성능을 보장할 수 있는 형식이 필요합니다.
The TensorFlow Lite or TFLite export format allows you to optimize your Ultralytics YOLO26 models for tasks like object detection and image classification in edge device-based applications. In this guide, we'll walk through the steps for converting your models to the TFLite format, making it easier for your models to perform well on various edge devices.
왜 TFLite로 내보내야 합니까?
2017년 5월 Google이 TensorFlow 프레임워크의 일부로 도입한 TensorFlow Lite(줄여서 TFLite)는 에지 컴퓨팅으로도 알려진 온디바이스 추론을 위해 설계된 오픈 소스 딥러닝 프레임워크입니다. 개발자들은 이를 통해 모바일, 임베디드, IoT 디바이스 및 기존 컴퓨터에서 학습된 모델을 실행하는 데 필요한 도구를 얻을 수 있습니다.
TensorFlow Lite는 임베디드 Linux, Android, iOS 및 마이크로컨트롤러(MCU)를 포함한 광범위한 플랫폼과 호환됩니다. 모델을 TFLite로 내보내면 애플리케이션이 더 빨라지고 신뢰성이 높아지며 오프라인에서도 실행할 수 있게 됩니다.
TFLite 모델의 주요 특징
TFLite 모델은 개발자가 모바일, 임베디드 및 에지 디바이스에서 모델을 실행할 수 있도록 지원하여 온디바이스 머신 러닝을 가능하게 하는 다양한 주요 기능을 제공합니다.
-
온디바이스 최적화: TFLite는 온디바이스 ML에 최적화되어 데이터를 로컬에서 처리하여 지연 시간을 줄이고, 개인 데이터를 전송하지 않아 프라이버시를 강화하며, 모델 크기를 최소화하여 공간을 절약합니다.
-
다중 플랫폼 지원: TFLite는 Android, iOS, 임베디드 Linux 및 마이크로컨트롤러를 지원하는 폭넓은 플랫폼 호환성을 제공합니다.
-
다양한 언어 지원: TFLite는 Java, Swift, Objective-C, C++, Python을 포함한 다양한 프로그래밍 언어와 호환됩니다.
-
고성능: 하드웨어 가속 및 모델 최적화를 통해 뛰어난 성능을 달성합니다.
TFLite에서의 배포 옵션
YOLO26 모델을 TFLite 형식으로 내보내는 코드를 살펴보기 전에 TFLite 모델이 일반적으로 어떻게 사용되는지 알아보겠습니다.
TFLite는 머신 러닝 모델을 위한 다양한 온디바이스 배포 옵션을 제공합니다.
- Android 및 iOS를 통한 배포: TFLite가 포함된 Android 및 iOS 애플리케이션은 에지 기반 카메라 피드와 센서를 분석하여 객체를 탐지하고 식별할 수 있습니다. TFLite는 또한 Swift 및 Objective-C로 작성된 네이티브 iOS 라이브러리를 제공합니다. 아래 아키텍처 다이어그램은 TensorFlow Lite를 사용하여 학습된 모델을 Android 및 iOS 플랫폼에 배포하는 과정을 보여줍니다.
-
Implementing with Embedded Linux: If running inferences on a Raspberry Pi using the Ultralytics Guide does not meet the speed requirements for your use case, you can use an exported TFLite model to accelerate inference times. Additionally, it's possible to further improve performance by utilizing a Coral Edge TPU device.
-
마이크로컨트롤러를 통한 배포: TFLite 모델은 몇 킬로바이트의 메모리만으로도 마이크로컨트롤러 및 기타 디바이스에 배포할 수 있습니다. 핵심 런타임은 Arm Cortex M3에서 16KB 크기로 실행되며 많은 기본 모델을 구동할 수 있습니다. 운영 체제 지원이나 표준 C 또는 C++ 라이브러리, 동적 메모리 할당이 필요하지 않습니다.
TFLite로 내보내기: YOLO26 모델 변환
모델을 TFLite 형식으로 변환하여 온디바이스 모델 실행 효율성을 높이고 성능을 최적화할 수 있습니다.
설치
필요한 패키지를 설치하려면 다음을 실행하십시오:
# Install the required package for YOLO26
pip install ultralytics설치 프로세스와 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO26을 위한 필수 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 해결 가이드에서 솔루션과 팁을 참조하십시오.
사용법
모든 Ultralytics YOLO26 모델은 별도의 설정 없이 바로 내보내기를 지원하도록 설계되어 있어, 선호하는 배포 워크플로우에 쉽게 통합할 수 있습니다. 지원되는 내보내기 형식 및 구성 옵션 전체 목록을 확인하여 애플리케이션에 가장 적합한 설정을 선택하십시오.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo26n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")내보내기 인수
| 인수(Argument) | 유형(Type) | 기본값(Default) | 설명 |
|---|---|---|---|
format | str | 'tflite' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
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 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
data | str | 'coco8.yaml' | 양자화에 필수적인 데이터셋 구성 파일(기본값: coco8.yaml)의 경로입니다. |
fraction | float | 1.0 | INT8 양자화 보정에 사용할 데이터셋의 비율을 지정합니다. 전체 데이터셋의 일부에서 보정할 수 있게 하여 실험용이나 자원이 제한적일 때 유용합니다. INT8이 활성화된 상태에서 지정하지 않으면 전체 데이터셋이 사용됩니다. |
device | str | None | 내보내기를 위한 기기를 지정합니다: CPU(device=cpu), Apple 실리콘용 MPS(device=mps). |
내보내기 과정에 대한 자세한 내용은 Ultralytics 내보내기 설명서 페이지를 방문하세요.
내보낸 YOLO26 TFLite 모델 배포
Ultralytics YOLO26 모델을 TFLite 형식으로 성공적으로 내보낸 후, 이제 이를 배포할 수 있습니다. TFLite 모델 실행을 위한 가장 기본적이고 권장되는 첫 번째 단계는 이전 사용 코드 스니펫에 설명된 대로 YOLO("model.tflite") 메서드를 사용하는 것입니다. 그러나 다양한 환경에서 TFLite 모델을 배포하는 방법에 대한 자세한 지침은 다음 리소스를 참조하십시오.
-
Android: TensorFlow Lite를 Android 애플리케이션에 통합하기 위한 빠른 시작 가이드로, 머신 러닝 모델을 설정하고 실행하는 과정을 단계별로 안내합니다.
-
iOS: iOS 애플리케이션에 TensorFlow Lite 모델을 통합하고 배포하려는 개발자를 위한 상세 가이드를 확인하십시오. 단계별 지침과 리소스가 제공됩니다.
-
엔드투엔드 예제: 이 페이지에서는 모바일 및 에지 디바이스에서 머신 러닝 프로젝트에 TensorFlow Lite를 구현하려는 개발자를 위해 실용적인 애플리케이션과 튜토리얼을 선보이는 다양한 TensorFlow Lite 예제를 개괄적으로 보여줍니다.
요약
이 가이드에서는 TFLite 형식으로 내보내는 방법에 중점을 두었습니다. Ultralytics YOLO26 모델을 TFLite 모델 형식으로 변환하면 YOLO26 모델의 효율성과 속도를 개선하여 에지 컴퓨팅 환경에 더 효과적이고 적합하게 만들 수 있습니다.
사용법에 대한 자세한 내용은 TFLite 공식 문서를 방문하십시오.
또한 다른 Ultralytics YOLO26 통합에 관심이 있으시면 통합 가이드 페이지를 확인하십시오. 유용한 정보와 통찰력을 많이 얻으실 수 있습니다.
FAQ
YOLO26 모델을 TFLite 형식으로 어떻게 내보내나요?
YOLO26 모델을 TFLite 형식으로 내보내려면 Ultralytics 라이브러리를 사용할 수 있습니다. 먼저 다음을 사용하여 필수 패키지를 설치하십시오.
pip install ultralytics그다음 다음 코드 스니펫을 사용하여 모델을 내보내십시오.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo26n_float32.tflite'CLI 사용자의 경우 다음 명령어로 수행할 수 있습니다.
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'자세한 내용은 Ultralytics 내보내기 가이드를 방문하십시오.
YOLO26 모델 배포에 TensorFlow Lite를 사용하면 어떤 이점이 있나요?
TensorFlow Lite(TFLite)는 모바일, 임베디드 및 IoT 디바이스에 YOLO26 모델을 배포하는 데 이상적인 온디바이스 추론을 위해 설계된 오픈 소스 딥러닝 프레임워크입니다. 주요 이점은 다음과 같습니다.
- 온디바이스 최적화: 데이터를 로컬에서 처리하여 지연 시간을 최소화하고 개인 정보를 보호합니다.
- 플랫폼 호환성: Android, iOS, 임베디드 Linux 및 MCU를 지원합니다.
- 성능: 하드웨어 가속을 활용하여 모델 속도와 효율성을 최적화합니다.
더 알아보려면 TFLite 가이드를 확인하십시오.
Raspberry Pi에서 YOLO26 TFLite 모델을 실행할 수 있나요?
네, 추론 속도를 높이기 위해 Raspberry Pi에서 YOLO26 TFLite 모델을 실행할 수 있습니다. 먼저 위에 설명된 대로 모델을 TFLite 형식으로 내보내십시오. 그다음 TensorFlow Lite Interpreter와 같은 도구를 사용하여 Raspberry Pi에서 모델을 실행하십시오.
추가 최적화를 위해 Coral Edge TPU 사용을 고려할 수 있습니다. 자세한 단계는 Raspberry Pi 배포 가이드와 Edge TPU 통합 가이드를 참조하십시오.
마이크로컨트롤러에서 YOLO26 예측을 위해 TFLite 모델을 사용할 수 있나요?
네, TFLite는 리소스가 제한된 마이크로컨트롤러에서의 배포를 지원합니다. TFLite의 핵심 런타임은 Arm Cortex M3에서 16KB의 메모리만 필요하며 기본 YOLO26 모델을 실행할 수 있습니다. 이로 인해 최소한의 계산 성능과 메모리를 갖춘 디바이스에 배포하기에 적합합니다.
시작하려면 TFLite Micro 마이크로컨트롤러용 가이드를 방문하십시오.
TFLite로 내보낸 YOLO26 모델은 어떤 플랫폼과 호환되나요?
TensorFlow Lite는 광범위한 플랫폼 호환성을 제공하여 다음과 같은 다양한 디바이스에 YOLO26 모델을 배포할 수 있습니다.
- Android 및 iOS: TFLite Android 및 iOS 라이브러리를 통한 네이티브 지원.
- 임베디드 Linux: Raspberry Pi와 같은 싱글 보드 컴퓨터에 이상적입니다.
- 마이크로컨트롤러: 리소스가 제한된 MCU에 적합합니다.
배포 옵션에 대한 자세한 정보는 상세 배포 가이드를 참조하십시오.
YOLO26 모델을 TFLite로 내보내는 동안 발생하는 일반적인 문제를 어떻게 해결하나요?
YOLO26 모델을 TFLite로 내보내는 중에 오류가 발생하면 일반적인 해결 방법은 다음과 같습니다.
- 패키지 호환성 확인: Ultralytics와 TensorFlow의 호환 가능한 버전을 사용 중인지 확인하십시오. 설치 가이드를 참조하십시오.
- 모델 지원: Ultralytics 내보내기 문서 페이지를 확인하여 특정 YOLO26 모델이 TFLite 내보내기를 지원하는지 확인하십시오.
- 양자화 문제: INT8 양자화를 사용하는 경우
data매개변수에 데이터 세트 경로가 올바르게 지정되었는지 확인하십시오.
추가 문제 해결 팁은 일반적인 문제 가이드를 방문하십시오.