ddps-lab / edge-inference

Evaluation of inference model performance on edge devices
Apache License 2.0
2 stars 3 forks source link

CNN 모델 edge TPU (tflite) inference 에러 #12

Closed jungae-park closed 2 years ago

jungae-park commented 2 years ago

Libraries required for Mini PCIe Coral Chip

apt-get install -y gasket-dkms libedgetpu1-std

tflite runtime install(arm 64)

https://www.tensorflow.org/lite/guide/python?hl=ko (tflite_runtime 설치)

pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp36-cp36m-linux_aarch64.whl

package, library check

dpkg -l | grep edgetpu dpkg -L libedgetpu1-std

lsusb install (tpu device check)

apt install usbutils lsusb


* 추론을 위해 tpu 라이브러리를 사용하도록 기존 모델 코드에 추가

import tflite_runtime.interpreter as tflite

model = tflite.Interpreter( "./model_edgetpu.tflite", experimental_delegates=[tflite.load_delegate('libedgetpu.so.1')]) model.allocate_tensors()


* 추론 작업시 error 발생

ValueError: Failed to load delegate from libedgetpu.so.1


해당 에러는 라이브러리를 설치하였지만, 라이브러리를 못찾고 있는 에러로 확인되며
환경에 맞는 버전으로 잘 설치 되어 있는지 확인하고 있으며, 다른 부분에서 빠진 설정이 있는지 공식 coral-tpu 문서를 보고 전체적인 설정 확인중
(https://coral.ai/docs/notes/build-coral/#required-components)
jungae-park commented 2 years ago

에러를 확인해보니, 라이브러리 설치 및 설정에는 문제가 없었습니다. 다만 라이브러리 설치 후 적용을 위해 container를 재부팅 해주어야 (stop & start) 설치한 라이브러리가 할당되어 추론이 가능한 것으로 확인되었습니다. 그래서 컨테이너 재부팅으로 에러를 해결 하였고, 추론을 진행하고 있습니다.

kmu-leeky commented 2 years ago

오케이. 나이스!