본문 바로가기
  • AI 개발자가 될래요
안드로이드

[안드로이드/TFLite] TF Lite delegate

by 꿀개 2023. 3. 9.

TF Lite Delegate

대리자라는 뜻.

TF Lite delegate는 tensor graph 연산의 일부분 혹은 전체를

다른 executor (GPU, DSP)에 위임하여 대리연산을 시킨다.

delegate는 TF Lite가 모바일과 같은 적은 리소스를 가진 디바이스에서 빠르게 연산을 할 수 있게 만들어준다. 

mobile폰은 ML을 가속화 하기 위한 것들을 가지고 있는 경우가 많은데 대표적으로 GPU와 DSP moduel 이다. 이러한 GPU, DSP를 이용하기 위해서 low level SDK인 OpenCL과 OpenGL이 사용된다. TensorflowLite Delegate API는 TFLite runtime과 이러한 low level SDK(openCL, openGL) 사이의 bridge 역할을 하여 acceration을 지원하게 된다.

 

Choosing a Delegate

TF Lite는 기본적으로 여러가지 delegate를 지원한다.

타겟으로 하는 플랫폼 (보통 android 아니면 iOS) 과 모델 타입 (float type or quantization) 에 따라 여러delegate가 적용되게 된다.

 

Delegates by Platform

Cross-platform (Android & iOS)

  • GPU delegate Android, iOS 두 플랫폼 모두 GPU delegate 지원한다. GPU delegate는 GPU가 지원 가능한 32-bit 혹은 16-bit의 float based model로 최적화를 해준다. 또한 float based model과 동일한 성능을 가지는 8-bit quantize model도 지원한다.

Android

  • NNAPI delegate for newer Android devices (NPU)
  • Hexagon delegate for older Android devices (퀄컴 헥사곤 DSP)

iOS

  • Core ML delegate for newer iPhones and iPads (if Neural Engine is available) Core ML delegate to accelerate inference for 32-bit or 16-bit floating-point models.

 

Delegates by model type

  • 각 delegate마다 지원하는 data type이 다르다.

https://www.tensorflow.org/lite/performance/delegates

 

TensorFlow Lite 대리자

TensorFlow Lite 대리자 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 시작하기 대리자는 GPU 및 DSP(디지털 신호 프로세서)와 같은 온 디바이스 가속기를 활용하

www.tensorflow.org

 

참조 https://ivdevlog.tistory.com/m/12