YOLO26 모델에서 TFLite Edge TPU 형식으로 내보내기#
모바일 또는 임베디드 시스템과 같이 연산 성능이 제한된 디바이스에 컴퓨터 비전 모델을 배포하는 작업은 까다로울 수 있습니다. 더 빠른 성능에 최적화된 모델 형식을 사용하면 프로세스가 간소화됩니다. TensorFlow Lite Edge TPU, 즉 TFLite Edge TPU 모델 형식은 신경망에 빠른 성능을 제공하면서 전력 소비를 최소화하도록 설계되었습니다.
TFLite Edge TPU 형식으로 내보내면 고속·저전력 추론에 맞게 Ultralytics YOLO26 모델을 최적화할 수 있습니다. 이 가이드에서는 모델을 TFLite Edge TPU 형식으로 변환하는 방법을 설명하여 다양한 모바일 및 임베디드 디바이스에서 모델 성능을 향상할 수 있도록 돕습니다.
TFLite Edge TPU로 내보내야 하는 이유는 무엇인가요?#
모델을 TensorFlow Edge TPU로 내보내면 머신러닝 작업을 빠르고 효율적으로 수행할 수 있습니다. 이 기술은 전력, 컴퓨팅 리소스 및 연결성이 제한된 애플리케이션에 적합합니다. Edge TPU는 Google의 하드웨어 가속기입니다. 엣지 디바이스에서 TensorFlow Lite 모델의 속도를 높입니다. 아래 이미지는 관련 프로세스의 예를 보여줍니다.
Edge TPU는 양자화된 모델과 함께 작동합니다. 양자화는 정확도를 크게 떨어뜨리지 않으면서 모델을 더 작고 빠르게 만듭니다. 이는 엣지 컴퓨팅의 제한된 리소스에 적합하며, 지연 시간을 줄이고 데이터를 로컬에서 신속하게 처리해 클라우드에 의존하지 않고도 애플리케이션이 빠르게 응답하도록 합니다. 또한 데이터가 원격 서버로 전송되지 않으므로 로컬 처리는 사용자 데이터의 개인정보와 보안을 유지합니다.
TFLite Edge TPU의 주요 기능#
다음은 TFLite Edge TPU를 개발자에게 적합한 모델 형식으로 만들어 주는 주요 기능입니다.
-
엣지 디바이스에 최적화된 성능: TFLite Edge TPU는 양자화, 모델 최적화, 하드웨어 가속 및 컴파일러 최적화를 통해 신경망에서 높은 속도를 제공합니다. 미니멀한 아키텍처 덕분에 크기가 작고 비용 효율적입니다.
-
높은 연산 처리량: TFLite Edge TPU는 전용 하드웨어 가속과 효율적인 런타임 실행을 결합하여 높은 연산 처리량을 달성합니다. 엣지 디바이스에서 엄격한 성능 요구 사항을 충족해야 하는 머신러닝 모델을 배포하는 데 적합합니다.
-
효율적인 행렬 연산: TensorFlow Edge TPU는 신경망 연산에 중요한 행렬 연산에 최적화되어 있습니다. 이러한 효율성은 머신러닝 모델, 특히 복잡한 행렬 곱셈과 변환을 많이 수행해야 하는 모델에서 핵심적인 역할을 합니다.
TFLite Edge TPU 배포 옵션#
YOLO26 모델을 TFLite Edge TPU 형식으로 내보내는 방법을 살펴보기 전에, TFLite Edge TPU 모델이 일반적으로 사용되는 분야를 알아보겠습니다.
TFLite Edge TPU는 머신러닝 모델에 다음과 같은 다양한 배포 옵션을 제공합니다.
-
온디바이스 배포: TensorFlow Edge TPU 모델은 모바일 및 임베디드 디바이스에 직접 배포할 수 있습니다. 온디바이스 배포를 사용하면 모델을 애플리케이션 번들에 포함하거나 필요할 때 다운로드하여 하드웨어에서 직접 실행할 수 있으므로 클라우드 연결이 필요하지 않습니다.
-
하이브리드 배포: 하이브리드 방식은 온디바이스 배포와 클라우드 배포를 결합하여 머신러닝 모델을 배포하는 다용도 확장형 솔루션을 제공합니다. 빠른 응답을 위한 온디바이스 처리와 복잡한 연산을 위한 클라우드 컴퓨팅이 장점입니다.
지원 작업#
Edge TPU 내보내기는 Ultralytics의 7개 작업 중 6개를 지원합니다. 의미론적 분할은 해당 헤드를 제공하는 유일한 제품군인 YOLO26에서만 사용할 수 있습니다. INT8 모델이 Edge TPU 컴파일러에서 파싱할 수 없는 EXP v2 연산자를 출력하므로 깊이 추정은 지원되지 않습니다.
Edge TPU 컴파일러는 지원하는 연산을 가속기에 매핑하고 나머지는 CPU에서 실행하므로, 작업을 지원한다고 해서 모든 연산이 TPU에서 실행되는 것은 아닙니다.
YOLO26 모델을 TFLite Edge TPU로 내보내기#
YOLO26 모델을 TensorFlow Edge TPU로 변환하면 모델 호환성과 배포 유연성을 높일 수 있습니다.
설치#
필수 패키지를 설치하려면 다음을 실행하세요:
# Install the required package for YOLO26
pip install ultralytics설치 절차에 대한 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. YOLO26에 필요한 패키지를 설치하는 중 문제가 발생하면 해결 방법과 팁을 확인할 수 있는 일반적인 문제 가이드를 참조하세요.
사용법#
모든 Ultralytics YOLO26 모델은 별도의 설정 없이 내보내기를 지원하도록 설계되어 있어 원하는 배포 워크플로에 쉽게 통합할 수 있습니다. 애플리케이션에 가장 적합한 설정을 선택하려면 지원되는 내보내기 형식 및 구성 옵션 전체 목록을 확인하세요.
TFLite Edge TPU 형식은 내보내기, 예측, 검증 모드를 지원합니다. 추론과 검증은 Coral Edge TPU 하드웨어에서 실행됩니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증하세요.
from ultralytics import YOLO
# YOLO26 모델 로드
model = YOLO("yolo26n.pt")
# 모델을 TFLite Edge TPU 형식으로 내보냅니다
model.export(format="edgetpu") # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'를 생성합니다from ultralytics import YOLO
# 내보낸 TFLite Edge TPU 모델을 로드합니다
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# 추론 실행
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# 내보낸 TFLite Edge TPU 모델을 로드합니다
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# COCO8 데이터셋에서 정확도 검증
metrics = model.val(data="coco8.yaml")내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'edgetpu' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 사용할 이미지 크기입니다. 정사각형 이미지에는 정수를 사용하고, 특정 크기에는 튜플 (height, width)을 사용할 수 있습니다. |
quantize | int 또는 str | 8/auto | 양자화 정밀도. Edge TPU에는 8 (INT8)이 필요하며 자동으로 활성화됩니다. 이 설정은 모델을 압축하고 엣지 디바이스에서 추론 속도를 높이면서 정확도 손실은 최소화합니다. 더 이상 사용되지 않는 half/int8 플래그를 대체합니다. |
opset | int | None | 중간 ONNX 그래프의 ONNX opset 버전을 지정합니다. 설정하지 않으면 지원되는 최신 버전을 사용합니다. |
data | str | None | 양자화에 필수적인 데이터셋 YAML 경로입니다. 분류 작업의 경우 데이터셋 디렉터리 또는 기본 제공 데이터셋 이름을 사용합니다. quantize=8이 지정되지 않으면 Ultralytics가 모델 작업에 맞는 기본 보정 데이터셋을 선택합니다. |
fraction | float, int 또는 list | 1.0 | 비율, 이미지 수 또는 [train, val, test] 비율/개수로 지정하는 보정 하위 집합입니다. 항목이 두 개인 목록에서는 test이 전체로 설정되고, 0는 건너뜁니다. |
device | str | None | 내보내기에 사용할 디바이스를 지정합니다. CPU(device=cpu). |
Edge TPU로 내보낼 때는 x86 Linux 시스템을 사용해야 합니다.
내보내기 프로세스에 관한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 참조하세요.
내보낸 YOLO26 TFLite Edge TPU 모델 배포#
Ultralytics YOLO26 모델을 TFLite Edge TPU 형식으로 성공적으로 내보냈다면 이제 배포할 수 있습니다. TFLite Edge TPU 모델을 실행할 때 가장 먼저 권장하는 방법은 앞서 사용 예제 코드에서 설명한 YOLO("model_edgetpu.tflite") 메서드를 사용하는 것입니다.
TFLite Edge TPU 모델 배포에 대한 자세한 지침은 다음 리소스를 참고하세요.
-
Raspberry Pi에서 Ultralytics YOLO26으로 Coral Edge TPU 사용하기: Coral Edge TPU를 Raspberry Pi와 통합하여 머신러닝 기능을 향상하는 방법을 알아보세요.
-
코드 예제: 프로젝트를 시작하는 데 도움이 되는 실용적인 TensorFlow Edge TPU 배포 예제를 확인하세요.
-
Python으로 Edge TPU에서 추론 실행하기: 설정 및 사용 지침을 포함하여 Edge TPU 애플리케이션에 TensorFlow Lite Python API를 사용하는 방법을 살펴보세요.
요약#
이 가이드에서는 Ultralytics YOLO26 모델을 TFLite Edge TPU 형식으로 내보내는 방법을 살펴봤습니다. 위에서 설명한 단계를 따르면 컴퓨터 비전 애플리케이션의 속도와 성능을 높일 수 있습니다.
사용에 대한 자세한 내용은 Coral Edge TPU 공식 웹사이트를 방문하세요.
또한 다른 Ultralytics YOLO26 통합에 대한 자세한 내용은 통합 가이드 페이지를 방문하세요. 이 페이지에서 유용한 리소스와 정보를 확인할 수 있습니다.
자주 묻는 질문#
YOLO26 모델을 TFLite Edge TPU 형식으로 내보내려면 다음 단계를 따르세요.
사용법from ultralytics import YOLO # YOLO26 모델 로드 model = YOLO("yolo26n.pt") # 모델을 TFLite Edge TPU 형식으로 내보냅니다 model.export(format="edgetpu") # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'를 생성합니다 # 내보낸 TFLite Edge TPU 모델을 로드합니다 edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite") # 추론 실행 results = edgetpu_model("https://ultralytics.com/images/bus.jpg")다른 형식으로 모델을 내보내는 자세한 방법은 내보내기 가이드를 참고하세요.
YOLO26 모델을 TFLite Edge TPU로 내보내면 다음과 같은 이점이 있습니다.
- 최적화된 성능: 전력 소비를 최소화하면서 신경망을 고속으로 실행할 수 있습니다.
- 지연 시간 감소: 클라우드에 의존하지 않고 데이터를 로컬에서 빠르게 처리할 수 있습니다.
- 개인정보 보호 강화: 로컬 처리를 통해 사용자 데이터를 비공개로 안전하게 유지합니다.
디바이스의 전력과 연산 리소스가 제한적인 엣지 컴퓨팅 애플리케이션에 적합합니다. 내보내야 하는 이유를 자세히 알아보세요.
예. TensorFlow Lite Edge TPU 모델은 모바일 및 임베디드 디바이스에 직접 배포할 수 있습니다. 이 배포 방식에서는 모델이 하드웨어에서 직접 실행되므로 추론 속도가 더 빠르고 효율적입니다. 통합 예제는 Raspberry Pi에 Coral Edge TPU를 배포하는 가이드를 참고하세요.
TFLite Edge TPU 모델의 일반적인 사용 사례는 다음과 같습니다.
- 스마트 카메라: 실시간 이미지 및 동영상 분석을 향상합니다.
- IoT 디바이스: 스마트 홈 및 산업 자동화를 구현합니다.
- 헬스케어: 의료 영상 처리 및 진단을 가속화합니다.
- 소매: 재고 관리와 고객 행동 분석을 개선합니다.
이러한 애플리케이션은 TFLite Edge TPU 모델의 높은 성능과 낮은 전력 소비의 이점을 활용합니다. 사용 시나리오를 자세히 알아보세요.
TFLite Edge TPU 모델을 내보내거나 배포하는 중에 문제가 발생하면 문제 해결 방법을 확인할 수 있는 일반적인 문제 가이드를 참고하세요. 이 가이드에서는 원활한 작동을 위해 일반적인 문제와 해결책을 다룹니다. 추가 지원이 필요하면 도움말 센터를 방문하세요.