Ultralytics YOLO11과 함께 Raspberry Pi의 Coral Edge TPU 🚀
Coral Edge TPU란 무엇입니까?
Coral Edge TPU는 시스템에 Edge TPU 코프로세서를 추가하는 소형 장치입니다. 이를 통해 TensorFlow Lite 모델에 대한 저전력, 고성능 ML 추론이 가능합니다. 자세한 내용은 Coral Edge TPU 홈페이지에서 확인하세요.
참고: Google Coral Edge TPU를 사용하여 Raspberry Pi에서 추론을 실행하는 방법
Coral Edge TPU로 Raspberry Pi 모델 성능 향상
많은 사용자가 Raspberry Pi와 같은 임베디드 또는 모바일 장치에서 모델을 실행하려고 합니다. 이러한 장치는 전력 효율성이 매우 높고 다양한 애플리케이션에서 사용할 수 있기 때문입니다. 그러나 ONNX 또는 OpenVINO와 같은 형식을 사용하더라도 이러한 장치에서의 추론 성능은 일반적으로 좋지 않습니다. Coral Edge TPU는 Raspberry Pi와 함께 사용하여 추론 성능을 크게 향상시킬 수 있으므로 이 문제에 대한 훌륭한 솔루션입니다.
TensorFlow Lite가 탑재된 Raspberry Pi의 Edge TPU(신규)⭐
Raspberry Pi에서 Edge TPU를 사용하는 방법에 대한 Coral의 기존 가이드는 오래되었으며 현재 Coral Edge TPU 런타임 빌드는 더 이상 현재 TensorFlow Lite 런타임 버전에서 작동하지 않습니다. 또한 Google은 Coral 프로젝트를 완전히 포기한 것으로 보이며 2021년에서 2025년 사이에 업데이트가 없었습니다. 이 가이드에서는 최신 버전의 TensorFlow Lite 런타임과 업데이트된 Coral Edge TPU 런타임을 Raspberry Pi 단일 보드 컴퓨터(SBC)에서 작동시키는 방법을 보여줍니다.
필수 조건
- Raspberry Pi 4B (2GB 이상 권장) 또는 Raspberry Pi 5 (권장)
- 데스크톱이 설치된 Raspberry Pi OS Bullseye/Bookworm (64비트) (권장)
- Coral USB Accelerator
- Ultralytics PyTorch 모델을 내보내기 위한 비-ARM 기반 플랫폼
설치 안내
이 가이드에서는 Raspberry Pi OS가 이미 설치되어 있고 다음이 설치되었다고 가정합니다. ultralytics
및 모든 종속성. 다음을 설치하려면 ultralytics
다음을 방문하세요. 빠른 시작 가이드 여기서 계속하기 전에 설정을 완료하세요.
Edge TPU 런타임 설치
먼저, Edge TPU 런타임을 설치해야 합니다. 다양한 버전이 있으므로 운영 체제에 맞는 버전을 선택해야 합니다. 고주파 버전은 Edge TPU를 더 높은 클럭 속도로 실행하여 성능을 향상시킵니다. 그러나 Edge TPU의 열 스로틀링을 유발할 수 있으므로 적절한 냉각 장치를 갖추는 것이 좋습니다.
Raspberry Pi OS | 고주파 모드 | 다운로드할 버전 |
---|---|---|
Bullseye 32비트 | 아니요 | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64비트 | 아니요 | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32비트 | 예 | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64비트 | 예 | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32비트 | 아니요 | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64비트 | 아니요 | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32비트 | 예 | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64비트 | 예 | libedgetpu1-max_ ... .bookworm_arm64.deb |
파일을 다운로드한 후 다음 명령으로 설치할 수 있습니다.
sudo dpkg -i path/to/package.deb
런타임을 설치한 후 Coral Edge TPU를 Raspberry Pi의 USB 3.0 포트에 연결해야 합니다. 공식 가이드에 따르면 새로운 udev
규칙이 설치 후 적용되어야 하기 때문입니다.
중요
Coral Edge TPU 런타임이 이미 설치되어 있는 경우 다음 명령을 사용하여 제거하십시오.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high frequency version
sudo apt remove libedgetpu1-max
Edge TPU로 내보내기
Edge TPU를 사용하려면 모델을 호환되는 형식으로 변환해야 합니다. Edge TPU 컴파일러는 ARM에서 사용할 수 없으므로 Google Colab, x86_64 Linux 시스템에서 공식 Ultralytics Docker 컨테이너를 사용하거나 Ultralytics HUB를 사용하여 내보내기를 실행하는 것이 좋습니다. 사용 가능한 인수는 Export Mode를 참조하십시오.
모델 내보내기
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
내보낸 모델은 다음 위치에 저장됩니다. <model_name>_saved_model/
폴더에 다음 이름으로 저장됩니다. <model_name>_full_integer_quant_edgetpu.tflite
. 모델 이름은 반드시 다음 접미사로 끝나야 합니다. _edgetpu.tflite
, 그렇지 않으면 Ultralytics는 사용자가 Edge TPU 모델을 사용하고 있다는 것을 알 수 없습니다.
모델 실행
모델을 실제로 실행하기 전에 올바른 라이브러리를 설치해야 합니다.
만약 tensorflow
가 설치되어 있으면 다음 명령으로 TensorFlow를 제거하십시오.
pip uninstall tensorflow tensorflow-aarch64
그런 다음 다음을 설치/업데이트하십시오. tflite-runtime
:
pip install -U tflite-runtime
이제 다음 코드를 사용하여 추론을 실행할 수 있습니다.
모델 실행
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/MODEL_NAME_full_integer_quant_edgetpu.tflite source=path/to/source.png # Load an official model or custom model
전체 예측 모드에 대한 자세한 내용은 Predict 페이지에서 확인하십시오.
다중 Edge TPU를 사용한 추론
여러 개의 Edge TPU가 있는 경우 다음 코드를 사용하여 특정 TPU를 선택할 수 있습니다.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPU
벤치마크
벤치마크
Raspberry Pi Os Bookworm 64비트 및 USB Coral Edge TPU로 테스트되었습니다.
참고
표시된 내용은 추론 시간이며, 전/후 처리는 포함되지 않습니다.
이미지 크기 | 모델 | 표준 추론 시간 (ms) | 높은 빈도 추론 시간(ms) |
---|---|---|---|
320 | YOLOv8n | 32.2 | 26.7 |
320 | YOLOv8s | 47.1 | 39.8 |
512 | YOLOv8n | 73.5 | 60.7 |
512 | YOLOv8s | 149.6 | 125.3 |
이미지 크기 | 모델 | 표준 추론 시간 (ms) | 높은 빈도 추론 시간(ms) |
---|---|---|---|
320 | YOLOv8n | 22.2 | 16.7 |
320 | YOLOv8s | 40.1 | 32.2 |
512 | YOLOv8n | 53.5 | 41.6 |
512 | YOLOv8s | 132.0 | 103.3 |
평균:
- Raspberry Pi 5는 표준 모드에서 Raspberry Pi 4B보다 22% 더 빠릅니다.
- Raspberry Pi 5는 고주파 모드에서 Raspberry Pi 4B보다 30.2% 더 빠릅니다.
- 고주파 모드는 표준 모드보다 28.4% 더 빠릅니다.
FAQ
Coral Edge TPU는 무엇이며 Ultralytics YOLO11을 사용하여 Raspberry Pi의 성능을 어떻게 향상시키나요?
Coral Edge TPU는 시스템에 Edge TPU 코프로세서를 추가하도록 설계된 소형 장치입니다. 이 코프로세서는 저전력, 고성능 머신 러닝 추론을 가능하게 하며, 특히 TensorFlow Lite 모델에 최적화되어 있습니다. Raspberry Pi를 사용할 때 Edge TPU는 ML 모델 추론을 가속화하여 특히 Ultralytics YOLO11 모델의 성능을 크게 향상시킵니다. Coral Edge TPU에 대한 자세한 내용은 홈페이지에서 확인할 수 있습니다.
Raspberry Pi에 Coral Edge TPU 런타임을 어떻게 설치하나요?
Raspberry Pi에 Coral Edge TPU 런타임을 설치하려면 해당 .deb
에서 Raspberry Pi OS 버전에 적합한 패키지를 다운로드하십시오. 이 링크다운로드한 후 다음 명령을 사용하여 설치합니다.
sudo dpkg -i path/to/package.deb
설치 안내 섹션에 설명된 단계에 따라 이전 Coral Edge TPU 런타임 버전을 모두 제거해야 합니다.
Ultralytics YOLO11 모델을 Coral Edge TPU와 호환되도록 내보낼 수 있나요?
예, Ultralytics YOLO11 모델을 Coral Edge TPU와 호환되도록 내보낼 수 있습니다. Google Colab, x86_64 Linux 머신 또는 Ultralytics Docker 컨테이너를 사용하여 내보내는 것이 좋습니다. Ultralytics HUB를 사용하여 내보낼 수도 있습니다. 다음은 python 및 CLI를 사용하여 모델을 내보내는 방법입니다.
모델 내보내기
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
자세한 내용은 Export Mode 문서를 참조하십시오.
Raspberry Pi에 TensorFlow가 이미 설치되어 있지만 tflite-runtime을 대신 사용하려면 어떻게 해야 합니까?
Raspberry Pi에 TensorFlow가 설치되어 있고 다음으로 전환해야 하는 경우 tflite-runtime
, 먼저 다음을 사용하여 TensorFlow를 제거해야 합니다.
pip uninstall tensorflow tensorflow-aarch64
그런 다음, 다음 명령을 사용하여 tflite-runtime
을 설치하거나 업데이트합니다.
pip install -U tflite-runtime
자세한 내용은 모델 실행 섹션을 참조하십시오.
Coral Edge TPU를 사용하여 Raspberry Pi에서 내보낸 YOLO11 모델로 추론을 실행하려면 어떻게 해야 하나요?
YOLO11 모델을 Edge TPU 호환 형식으로 내보낸 후 다음 코드 스니펫을 사용하여 추론을 실행할 수 있습니다.
모델 실행
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/edgetpu_model.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png # Load an official model or custom model
전체 예측 모드 기능에 대한 자세한 내용은 Predict Page에서 확인할 수 있습니다.