0. 텐서플로 라이트 : 소개

딥러닝을 강의하면서
꼭 해야지 하고 생각했던 것이 모바일과의 연동이었다.
정확하게는 스마트폰.
아이폰과 안드로이드 프로그래밍을 주로 했었으니까
딥러닝 모델을 모바일에 얹지 않고는 견디기 어려웠다.
놀기 바빠서 혹은 할게 많아서
이제서야 정리를 하게 됐다.
플러터를 다 하진 못했지만 어느 정도는 정리했으니까.
때가 됐다.

참고할 만한 자료가 많지 않아서 고생했다.
텐서플로에서 공개한 기본적인 내용만 소개하는 곳이 많았고
내가 원하는 모델을 올릴 수 있는 방법에 대한 설명은 찾지 못했다.
어쩌다 영문 사이트로부터 단서를 얻었고
그로부터 획득한 추가 정보들을 정리해 보려 한다.

텐서플로 라이트 공식 홈페이지가 있으니까 한번 가봐야 하지 않겠는가!


텐서플로 라이트는 텐서플로 모델을 모바일 환경에서 구동하도록 해준다.
모델 학습을 모바일에서 직접 하는 것은 아니고
학습된 모델을 모바일에 올려서 예측할 수 있도록 지원한다.

작업 순서는 다음과 같다.
여기서는 안드로이드 버전으로 진행하고 플러터 버전은 따로 보충한다.

  1. PC에서 모델을 학습한다.
  2. 학습한 모델을 텐서플로 라이트 버전으로 변환한다.
  3. 안드로이드 프로젝트를 생성한다.
  4. assets 폴더를 만들고 모델 파일을 붙여넣는다.
  5. 텐서플로 라이트 모듈을 사용할 수 있도록 gradle 파일에 내용을 추가한다.
  6. gradle 파일을 수정해서 모델 파일이 압축되지 않도록 한다.
  7. gradle 파일을 수정했으니까 동기화를 진행한다.
  8. tflite 모델 파일을 로딩하고 run 함수를 호출해서 결과를 가져온다.
  9. 안드로이드 화면을 구성하고 코드를 추가해서 결과를 표시한다.

역시.. 머리 속에 있을 때와는 달리
쓰고 나니까.. 순서가 꽤나 길다.
순서는 길지만 실제로는 어렵지 않다.

그래도 이 글을 읽는 사람은 알았으면 한다.
쉽게 정리하기까지 오래 걸렸다.

준비됐으면.. 가 보자!!