Tensorflow Lite란?


Tensorflow Lite는 Mobile혹은 Embedded devices와 같이 한정된 자원을 갖는 디바이스에서, On-device learning을 하기위한 경량화 된 솔루션이다. 또한 저전력 모드에서 동작에 적합하도록 Kenel optimizing과 작은 사이즈의 Binary를 갖도록 설계되어 있다. 


Tensorflow Lite는 FlatBuffer기반의 Format으로 모델이 정의된다. Tensorflow에서 사용하는 ProtocolBuffer와 유사하지만 data를 Access하기 전에 Parsing/Unpacking이 필요하지 않는 다는점에서 다르다. 따라서 Tensorflow에서 작성된 모델은 Tensorflow Lite에서 바로 이용할 수 없으며, Tensorflow 모델을 Tensorflow Lite모델에서 사용하기 위해서는 Format의 변환이 필요하다. 



Tensorflow의 구조



Tensorflow Lite를 Mobile혹은 Embedded환경에서 동작 시키기 위해서는 위와 같은 구조로 동작을 한다.


1. Tensorflow로 학습 모델을 정의

2. Tensorflow Lite Converter를 이용하여 Tensorflow 모델을 Tensorflow Lite format(.tflite) 형태로 변환

3. JAVA API : 편의상 C++ API를 warpping한 JAVA API

4. C++ API : Tensorflow Lite모델을 불러오고 Interpreter 호출

5. Interpreter : Kernel set을 이용하여 모델을 실행

6. Android Neural Network API : Hardware에 맞게 CPU혹은 Hardware acceleration을 이용








'A.I > Tensorflow' 카테고리의 다른 글

Tensorflow 모델 저장하고 불러오기  (0) 2018.11.13
Posted by No names
,