원문: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite/toco

Tensorflow Lite 최적화 컨버터는 Tensorflow 그래프를 Tensorflow Lite 그래프로 변환해줍니다. 추가적으로 더 사용할 수 있는데, 이 문서에서 세부적으로 다룹니다.

문서 사용법

정보 사용법은 아래 문서들에 있습니다.

컨버터는 Tensorflow에서 어느 부분에 해당될까요

앱 개발자가 학습된 Tensorflow 모델을 구하면, TOCO는 모델을 받아 Tensorflow Lite FlatBuffer 파일을 생성합니다. TOCO는 현재 SavedModels이나 frozen graphs(freeze_graph.py로 만들어진 모델)을 지원하고 있습니다. Tensorflow Lite FlatBuffer 파일은 클라이언트 기기에 올라갈 수 있고, 보통은 Tensorflow Lite 해석기가 디바이스 위에서 처리할 수 있는 모바일 기기입니다. 아래에 그 흐름이 표현되어있습니다.



WRITTEN BY
tucan.dev
개인 iOS 개발, tucan9389

,

1. Tensorflow mobile for iOS(Deprecated)

  • pod 'TensorFlow-experimental'

  • C++ 인터페이스

  • pod(의존성 관리 툴)으로 프로젝트 환경을 구축하면 450MB가 넘음. 여러 플랫폼을 묶다보니 용량이 큼. 예제를 앱으로 말면 약 25MB정도로 만들어짐.

  • Tensorflow Lite로 대체됨.

2. Tensorflow Lite

iOS 기기에서 TensorFlowLite 로 .tflite 모델을 사용할 수 있음

  • TensorFlow Lite를 바로 사용할 시 C++ 인터페이스

  • TensorFlow Mobile의 다음 버전

  • 더 작은 바이너리 크기

  • 적은 의존성, 더 나은 퍼포먼스

Tensorflow Lite for iOSiOS 기기에서 .tflite 모델을 실행시킨 결과



3. Core ML

iOS 기기에서 Core ML 로 .mlmodel 모델을 사용할 수 있음

  • Swift/Objective-C 인터페이스(Core ML)

  • 텐서플로우(.pb)를 CoreML(.mlmodel)로 변환하여 사용.

  • 애플이나 구글의 공식 프로젝트는 아니지만 스타가 많은 프로젝트.

4. MLKit with Firebase

Firebase 프레임워크에 들어있는 MLKit 로 .tflite 모델을 Swift 인터페이스로 사용할 수 있음

  • Swift, Objective-C 인터페이스

  • 18.05.09 구글I/O에서 발표

  • 기본 ML 기능 제공

    • Text Recognition (OCR)

    • Face Detection

    • Label Detection

    • Cloud Landmark Detection

    • Cloud Text Recognition

    • Cloud Label Detection

    • Custom Model Object Detection(.tflite 모델 사용)

MLKit for iOSiOS 기기에서 MLKit으로 .tflite 모델을 실행시킨 결과


+. tensorflow + swift

기계학습 모델을 만드는 새로운 방법.18년5월에 처음 공개되었고 개발중..



WRITTEN BY
tucan.dev
개인 iOS 개발, tucan9389

,