TFlite 7

keras를 이용한 image classification 구현하고 저장하기 (mobilenet, tflite)

안녕하세요 저번 포스트에서 tflite model maker를 통해서 안드로이드에서 tflite model maker를 통해 모델을 만드는 법을 포스팅하였습니다. 2023.06.02 - [모바일/안드로이드] - 안드로이드에서 Image classification 모델 만들기 하지만 tflite_model_maker의 경우 여러가지 제약상황이 많았습니다. 그 중 하나는, tflite_model_maker로 나온 결과는 uint8의 데이터타입으로 나온다는 점입니다. 딱히 이를 고칠 수 있는 방법이 없는 것 같습니다. 하지만 keras api를 사용하면 훨씬 쉽고 커스텀하기 편하게 만들 수 있습니다. 예를들어 이 코드를 봅시다. import numpy as np from tensorflow.keras.appl..

안드로이드용 tflite image classification 모델 inference 스크립트

안녕하세요 저번 포스트에서 만들었던, 모델을 실제로 어떤 식으로 테스트 해볼수 있을까요? 다음 스크립트를 사용하면 테스트를 해볼 수 있습니다. reference: https://www.tensorflow.org/lite/inference_with_metadata/task_library/image_classifier #Imports from tflite_support.task import vision from tflite_support.task import core from tflite_support.task import processor from tensorflow_lite_support.python.task.core import base_options as base_options_module from ..

안드로이드에서 Image classification 모델 만들기(tflite model maker)

안녕하세요 오늘은 Android 에서 돌아가는 Image Classfication model에 대해서 알아보도록 하겠습니다. Image Classification은 CNN중에서도 가장 기본적인 활용인 만큼, 의미가 있을것으로 보입니다. reference: https://www.tensorflow.org/lite/models/modify/model_maker/image_classification Image classification with TensorFlow Lite Model Maker Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand Image classification with TensorFlow Lite M..

Yolov5 Tflite 버전을 local desktop에서 돌리면 느려지는 이유

Quantization을 하면서 여러가지 테스트를 하던 중, tflite 파일을 돌리니 그냥 .pt 파일을 돌릴 때보다 확연하게 느려지는 것을 발견하였습니다. 물론, 이 현상을 처음 발견한 것은 아닙니다. 하지만 예전에 발견했을 때에는, Nvidia gpu가 TFlite 를 지원하지 않는다는 포스팅을 보았기에, (참고자료 : https://forums.developer.nvidia.com/t/gpu-support-for-tflite/156477) 당연히 GPU를 사용하지 못하기 때문에 느리구나 생각했었는데, 이번에 테스팅을 해 보니깐, 같은 CPU를 사용할 때에도, 훨씬 느린것을 발견하였습니다. 같은 모델 사용 시에 .pt 파일 사용시 - 20~30 ms 소요, tflite 변환 모델의 경우 3000ms..

Deep Learning 2023.02.13

안드로이드에서 소리 분류 custom data를 학습시키기 (tflite, yamnet)

안드로이드에서 tflite를 이용해서 모델을 이용한 소리 분류 앱을 만드는 튜토리얼을 진행해 보았습니다. 대부분의 코드는 이 튜토리얼 참조 하였습니다. 참조: 선행학습된 커스텀 오디오 분류 모델 빌드 튜토리얼에서는 새 데이터를 사용하여서 5종류의 새 울음소리를 학습하였습니다. 기본적인 앱은 앞선 튜토리얼과 상당히 비슷합니다. 오디오 분류를 위한 기본 앱 만들기 MainActivity 안에 모든 코드가 있으며, 다음과 같습니다. class MainActivity : AppCompatActivity() { var TAG = "MainActivity" // TODO 2.1: defines the model to be used var modelPath = "this_model.tflite" // TODO 2.2..

anaconda를 사용한 tensorflow lite 환경설정

tensorflow lite 에서의 anaconda 환경설정에 대해 알아보도록 하겠습니다. 우선 파이썬 버전을 3.8 이하로 맞춰주는게 중요합니다. anaconda 환경을 만들면서, python 버전을 맞춰줍시다. Linux 의 경우 3.5에서 3.8까지 가능하다고 합니다. Mac의 경우 3.5에서 3.7까지 가능하다고 하네요! (주의주의!!) 참조 : 텐서플로우 라이트 환경설정 파이썬 3.8로 만들어봅시다. conda create --name tflite python=3.8 conda install 이 아닌 pip로 인스톨을 해준다고 합니다. python3 -m pip install tflite-runtime jupyter 를 실행시키기 위해서 jupyter notebook 을 인스톨 하고, 환경을 등..

환경설정 2022.08.26

안드로이드 앱 tflite 모델 로드하던 중 에러 해결(metadata)

안드로이드에서 머신러닝을 몇 가지 해 보던 중, object detection 어플리케이션을 해 봤는데, audio classification 앱은 실행되지 않는 것을 발견했습니다. 오랜 디버깅 끝에, LogCat에서 다음 로그를 발견했습니다. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.mysoundclassification, PID: 31078 java.lang.AssertionError: Error occurred when initializing AudioClassifier: Models are assumed to have the ModelMetadata and SubGraphMetadata. 알아보니, model을 asset 폴더에 ..