콘텐츠로 건너뛰기

Ultralytics YOLO11 🚀와 함께 라즈베리 파이의 코랄 엣지 TPU

USB Edge 가속기가 장착된 라즈베리파이 싱글 보드 컴퓨터 TPU

코랄 엣지란 무엇인가요 TPU?

Coral Edge TPU 는 시스템에 Edge TPU 코프로세서를 추가하는 소형 장치입니다. 이를 통해 다음과 같은 저전력, 고성능 ML 추론이 가능합니다. TensorFlow 라이트 모델. 자세한 내용은 Coral Edge TPU 홈페이지에서 확인하세요.



Watch: Google 코랄 엣지를 사용하여 라즈베리 파이에서 추론을 실행하는 방법 TPU

코랄 엣지로 라즈베리파이 모델 성능 향상하기 TPU

많은 사람들이 전력 효율이 높고 다양한 애플리케이션에서 사용할 수 있는 Raspberry Pi와 같은 임베디드 또는 모바일 장치에서 모델을 실행하려고 합니다. 그러나 이러한 장치에서는 일반적으로 다음과 같은 형식을 사용하는 경우에도 추론 성능이 좋지 않습니다. ONNX 또는 OpenVINO. 코랄 엣지( TPU )는 라즈베리 파이와 함께 사용하면 추론 성능을 크게 향상시킬 수 있기 때문에 이 문제에 대한 훌륭한 해결책이 될 수 있습니다.

라즈베리 파이의 엣지 TPU TensorFlow 라이트(신규)⭐ (신규)

라즈베리 파이에서 Edge TPU 를 사용하는 방법에 대한 Coral의 기존 가이드는 오래되었으며, 현재 Coral Edge TPU 런타임 빌드는 현재 TensorFlow 라이트 런타임 버전에서 더 이상 작동하지 않습니다. 또한 Google 은 Coral 프로젝트를 완전히 포기한 것으로 보이며 2021년부터 2025년 사이에 업데이트가 없었습니다. 이 가이드에서는 최신 버전의 TensorFlow 라이트 런타임과 업데이트된 Coral Edge TPU 런타임으로 Edge TPU 를 라즈베리파이 단일 보드 컴퓨터(SBC)에서 작동시키는 방법을 보여드립니다.

전제 조건

설치 연습

이 가이드는 이미 작동하는 라즈베리 파이 OS가 설치되어 있고 다음을 설치했다고 가정합니다. ultralytics 및 모든 종속성. 얻으려면 ultralytics 설치된 경우 빠른 시작 가이드 를 클릭하여 설정을 완료한 후 계속 진행하세요.

Edge TPU 런타임 설치

먼저 Edge TPU 런타임을 설치해야 합니다. 다양한 버전이 있으므로 사용 중인 운영 체제에 맞는 버전을 선택해야 합니다. 고주파 버전은 더 높은 클럭 속도로 Edge TPU 를 실행하여 성능을 향상시킵니다. 하지만 Edge TPU 열 스로틀링이 발생할 수 있으므로 일종의 냉각 메커니즘을 마련하는 것이 좋습니다.

라즈베리 파이 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
북웜 32비트 아니요 libedgetpu1-std_ ... .bookworm_armhf.deb
북웜 64비트 아니요 libedgetpu1-std_ ... .bookworm_arm64.deb
북웜 32비트 libedgetpu1-max_ ... .bookworm_armhf.deb
북웜 64비트 libedgetpu1-max_ ... .bookworm_arm64.deb

여기에서 최신 버전을 다운로드하세요.

파일을 다운로드한 후 다음 명령어를 사용하여 설치할 수 있습니다:

sudo dpkg -i path/to/package.deb

런타임을 설치한 후, 코랄 엣지( TPU )를 라즈베리파이의 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 를 사용하려면 모델을 호환 가능한 형식으로 변환해야 합니다. ARM에서는 Edge TPU 컴파일러를 사용할 수 없으므로 공식 Ultralytics Docker 컨테이너를 사용하거나 Ultralytics HUB를 사용하여 Google Colab, x86_64 Linux 시스템에서 내보내기를 실행하는 것이 좋습니다. 사용 가능한 인수는 내보내기 모드를 참조하세요.

모델 내보내기

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 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

전체 예측 모드에 대한 자세한 내용은 예측 페이지에서 종합 정보를 확인하세요.

다중 엣지 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

벤치마크

벤치마크

라즈베리 파이 오스 북웜 64비트와 USB 코랄 엣지 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% 더 빠릅니다.
  • 라즈베리 파이 5는 고주파 모드에서 라즈베리 파이 4B보다 30.2% 더 빠릅니다.
  • 고주파 모드는 표준 모드보다 28.4% 더 빠릅니다.

자주 묻는 질문

코랄 엣지란 무엇인가 TPU 그리고 어떻게 라즈베리파이의 성능을 향상시키는가 Ultralytics YOLO11 ?

Coral Edge TPU 는 시스템에 Edge TPU 코프로세서를 추가할 수 있도록 설계된 소형 장치입니다. 이 코프로세서는 저전력, 고성능 머신 러닝 추론을 가능하게 하며, 특히 TensorFlow 라이트 모델에 최적화되어 있습니다. 라즈베리 파이를 사용하는 경우, Edge TPU 는 ML 모델 추론을 가속화하여 특히 Ultralytics YOLO11 모델의 성능을 크게 향상시킵니다. Coral Edge에 대한 자세한 내용은 홈페이지 TPU 에서 확인할 수 있습니다.

라즈베리파이에 Coral Edge TPU 런타임을 설치하려면 어떻게 해야 하나요?

라즈베리 파이에 Coral Edge TPU 런타임을 설치하려면, 해당 런타임을 다운로드하세요. .deb 에서 라즈베리 파이 OS 버전용 패키지를 다운로드하십시오. 이 링크. 다운로드가 완료되면 다음 명령을 사용하여 설치합니다:

sudo dpkg -i path/to/package.deb

설치 연습 섹션에 설명된 단계에 따라 이전 Coral Edge TPU 런타임 버전을 제거해야 합니다.

내 Ultralytics YOLO11 모델을 Coral Edge TPU 와 호환되도록 내보낼 수 있나요?

예, 코랄 엣지 TPU 호환되도록 Ultralytics YOLO11 모델을 내보낼 수 있습니다. 내보내기는 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

자세한 내용은 내보내기 모드 문서를 참조하세요.

라즈베리파이에 TensorFlow 이 이미 설치되어 있는데 대신 tflite-runtime을 사용하려면 어떻게 해야 하나요?

라즈베리 파이에 TensorFlow 가 설치되어 있고 다음과 같이 전환해야 하는 경우 tflite-runtime를 사용하여 TensorFlow 을 먼저 제거해야 합니다:

pip uninstall tensorflow tensorflow-aarch64

그런 다음 설치 또는 업데이트 tflite-runtime 를 다음 명령어로 대체합니다:

pip install -U tflite-runtime

자세한 지침은 모델 실행하기 섹션을 참조하세요.

코랄 엣지 TPU 를 사용하여 라즈베리 파이에서 내보낸 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

전체 예측 모드 기능에 대한 자세한 내용은 예측 페이지에서 확인할 수 있습니다.

📅1 년 전 생성됨 ✏️ 업데이트됨 5 일 전

댓글