앱에서 손글씨로 숫자를 쓰면, 0~9 숫자 중 하나를 추론합니다. MNIST 데이터셋, TensorFlow 2, Flask, TensorFlow Lite 등을 사용하여 모델 학습부터 응용까지 가볍게 모델 추론 앱을 만들어 볼 수 있습니다.
온디바이스 추론 플로우 |
---|
서버 추론 플로우 |
---|
~/mnist-ml-to-mobile
├── training : TF2를 사용한 딥러닝 모델 학습을 위한 예제
├── app-server : Flask를 사용한 서버 추론을 위한 앱 예제
├── app-mobile : 모바일 앱에서 온디바이스 추론 및 서버 통신 추론을 위한 앱 예제
| ├── convert : tflite 변환을 위한 예제
| ├── ios : iOS 예제 프로젝트 (https://github.com/tucan9389/MNIST-TFLiteSwift)
| └── android : 현재 미지원 (PR은 환영입니다🎉)
├── outputs : 학습된 모델, 변환된 모델이 저장되는 위치
├── LICENSE
└── README.md
- 학습(training)을 통해 학습된 모델(saved_model)을 얻습니다.
- saved_model을 서버 앱 폴더에(app-server)에 넣고, 서버를 실행합니다.
- 모바일 앱(app-mobile) 혹은 브라우저를 통해 mnist 추론 요청을 합니다.
- 학습(training)을 통해 학습된 모델(saved_model)을 얻습니다.
- saved_model을 tflite로 변환합니다.
- tflite 모델을 앱 프로젝트에 탑재합니다.
- 모바일 앱(app-mobile)을 통해 mnist 온디바이스 추론을 합니다.
- TF2를 사용한 딥러닝 모델 학습 예제 추가
- Flask를 사용한 딥러닝 모델 서빙 예제 추가
- TensorFlowLiteSwift를 사용한 iOS 온디바이스 추론 예제 추가
- Alamofire를 사용한 iOS 서버 통신 추론 예제 추가
- 안드로이드 온디바이스 추론 예제 추가
- 안드로이드 서버 통신 추론 예제 추가