Application Android pour la classification des races de chiens à l’aide de TensorFlow Lite

Table des matières

Application Android pour la classification des races de chiens à l’aide de TensorFlow Lite

Mourya Polaka

Classification d’image, TensorFlow Lite, MobileNetV2, application Android

Figure 1: exemples d’images de l’ensemble de données
IMAGE_SIZE = 224
BATCH_SIZE = 64
datagen = tf.keras.preprocessing.image.ImageDataGenerator(
rescale=1./255,
validation_split=0.2)
train_generator = datagen.flow_from_directory(
image_dir,
target_size=(IMAGE_SIZE, IMAGE_SIZE),
batch_size=BATCH_SIZE,
subset='training')
val_generator = datagen.flow_from_directory(
image_dir,
target_size=(IMAGE_SIZE, IMAGE_SIZE),
batch_size=BATCH_SIZE,
subset='validation')

Initialiser le modèle de base

base_model= tf.keras.applications.MobileNetV2(
input_shape=IMG_SHAPE,
include_top=False,
weights='imagenet')

Extraction de caractéristiques

base_model.trainable = Falsemodel = tf.keras.Sequential([base_model,
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(120, activation='softmax')])

Compiler le modèle

model.compile(optimizer=tf.keras.optimizers.Adam(),
loss='categorical_crossentropy',
metrics=['accuracy'])
epochs = 10
history = model.fit(train_generator,
steps_per_epoch=len(train_generator),
epochs=epochs,
validation_data=val_generator, validation_steps=len(val_generator))

Convertir au format TFLite

saved_model_dir = 'Directory to store the converted model'
tf.saved_model.save(model, saved_model_dir)
converter= tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
with open('model.tflite', 'wb') as f:
f.write(tflite_model)

Étape 1: Clonez le référentiel de Tensorflow

git clone https://github.com/tensorflow/examples.git

Étape 2: Ajoutez le fichier TF Lite et les étiquettes au dossier des ressources

#Path to assets directory/lite/examples/image_classification/android/app/src/main/assets/

Étape 3: Installer Android Studio et ouvrez le dossier du projet en tant que projet Android Studio existant

#Path to project directory/examples/lite/examples/image_classification/android

Étape 4: Activer les options de développement et le débogage USB sur votre appareil Android

  • Android 9 (API niveau 28) et supérieur: Paramètres> Système> Avancé> Options développeur> Débogage USB

Étape 5: Projet de synchronisation avec les fichiers Gradle

Figure 2: bouton pour synchroniser les fichiers Gradle

Étape 6: Sélectionnez l’appareil et exécutez l’application

Figure 3: Liste des périphériques disponibles dans le gestionnaire AVD
Vidéo 1: application de classification des races de chiens sur un appareil Android