모바일/안드로이드

안드로이드에서 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

 

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 Model Maker Stay organized with collections Save and categorize content based on your preferences. The TensorFlow Lite Model Maker libr

www.tensorflow.org

 

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')
반응형