모바일/안드로이드
안드로이드에서 Image classification 모델 만들기(tflite model maker)
jinmc
2023. 6. 2. 13:00
반응형
안녕하세요
오늘은 Android 에서 돌아가는 Image Classfication model에 대해서 알아보도록 하겠습니다. Image Classification은 CNN중에서도 가장 기본적인 활용인 만큼, 의미가 있을것으로 보입니다.
reference: https://www.tensorflow.org/lite/models/modify/model_maker/image_classification
Android에서 Image Classification 모델을 만들려면, Model Maker를 이용한다고 합니다.
sudo apt -y install libportaudio2
pip install -q tflite-model-maker
이를 사용해서 관련 library들을 설치한 후, 필요한 library들을 import 해줍니다.
import os
import numpy as np
import tensorflow as tf
assert tf.__version__.startswith('2')
from tflite_model_maker import model_spec
from tflite_model_maker import image_classifier
from tflite_model_maker.config import ExportFormat
from tflite_model_maker.config import QuantizationConfig
from tflite_model_maker.image_classifier import DataLoader
import matplotlib.pyplot as plt
그 이후 data path를 지정해주고, 어떤 모델을 사용할 것인지를 정해줍니다. default model은 efficientNet-Lite0라고 합니다.
data_path = "this_data"
data = DataLoader.from_folder(data_path)
train_data, val_test_data = data.split(0.6)
val_data, test_data = val_test_data.split(0.5)
model = image_classifier.create(train_data, model_spec = model_spec.get('mobilenet_v2'), validation_data=val_data)
loss, accuracy = model.evaluate(test_data)
print(f"loss {loss} accuracy {accuracy}")
model.export(export_dir='models')
반응형