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 내보내기는 7개의 Ultralytics 작업 중 6개를 지원합니다. 시맨틱 세그멘테이션은 해당 헤드를 제공하는 유일한 제품군인 YOLO26에서만 사용할 수 있습니다. 깊이 추정은 지원되지 않습니다. INT8 모델이 Edge TPU 컴파일러에서 파싱할 수 없는 EXP v2 연산자를 출력하기 때문입니다.
Edge TPU 컴파일러는 지원되는 연산을 가속기에 매핑하고 나머지는 CPU에서 실행하므로, 작업이 지원된다고 해서 모든 연산이 TPU에서 실행되는 것은 아닙니다.
YOLO26 모델을 TFLite Edge TPU로 내보내기#
YOLO26 모델을 TensorFlow Edge TPU로 변환하면 모델 호환성과 배포 유연성을 확장할 수 있습니다.
설치#
필요한 package를 설치하려면 다음을 실행하십시오:
# Install the required package for YOLO26
pip install ultralytics설치 과정에 대한 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 확인하세요. YOLO26에 필요한 패키지를 설치하는 동안 문제가 발생하면 해결 방법과 팁이 포함된 일반적인 문제 가이드를 참조하세요.
사용법#
모든 Ultralytics YOLO26 모델은 기본적으로 Export를 지원하도록 설계되어 있어 선호하는 배포 워크플로에 쉽게 통합할 수 있습니다. 애플리케이션에 가장 적합한 설정을 선택하려면 지원되는 전체 Export 형식 및 구성 옵션 목록을 확인할 수 있습니다.
TFLite Edge TPU 형식은 내보내기, 예측 및 검증 모드를 지원합니다. 추론과 검증은 Coral Edge TPU 하드웨어에서 실행됩니다. 모델을 내보낸 다음 내보낸 모델을 로드하여 추론을 실행하거나 정확도를 검증합니다.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'edgetpu' | 내보낸 모델의 대상 형식으로, 다양한 deployment environment와의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 사용할 이미지 크기입니다. 정사각형 이미지에는 정수를 사용하고, 특정 크기에는 (height, width) tuple을 사용할 수 있습니다. |
quantize | int 또는 str | 8/auto | 양자화 정밀도입니다. Edge TPU에는 8 (INT8)이 필요하며 자동으로 활성화됩니다. 이 옵션은 모델을 압축하고 엣지 디바이스에서 정확도 손실을 최소화하면서 추론 속도를 높입니다. 더 이상 사용되지 않는 half/int8 플래그를 대체합니다. |
opset | int | None | 중간 ONNX graph의 ONNX opset 버전을 지정합니다. 설정하지 않으면 지원되는 최신 버전을 사용합니다. |
data | str | None | 양자화에 필요한 dataset YAML 경로입니다. 분류 작업에서는 대신 데이터셋 디렉터리 또는 기본 제공 데이터셋 이름을 사용합니다. quantize=8과 함께 생략하면 Ultralytics가 모델 작업에 맞는 기본 캘리브레이션 데이터셋을 선택합니다. |
fraction | float, int 또는 list | 1.0 | Calibration subset은 비율, 이미지 수 또는 [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 통합에 대한 자세한 내용은 통합 가이드 페이지를 방문하세요. 이 페이지에서 유용한 리소스와 인사이트를 확인할 수 있습니다.
FAQ#
YOLO26 모델을 TFLite Edge TPU 형식으로 내보내려면 다음 단계를 따르세요:
사용법from ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TFLite Edge TPU format model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite' # Load the exported TFLite Edge TPU model edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite") # Run inference 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 모델을 내보내거나 배포하는 동안 문제가 발생하면 문제 해결 팁을 제공하는 일반적인 문제 가이드를 참조하세요. 이 가이드는 원활한 작동을 보장하는 데 도움이 되도록 일반적인 문제와 해결 방법을 다룹니다. 추가 지원이 필요하면 도움말 센터를 방문하세요.