Application Android pour la classification des races de chiens à l’aide de TensorFlow Lite
Classification d’image, TensorFlow Lite, MobileNetV2, application Android
IMAGE_SIZE = 224
BATCH_SIZE = 64datagen = 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
- Android 8.0.0 (API niveau 26) et Android 8.1.0 (API niveau 26): Paramètres> Système> Options développeur> Débogage USB
Étape 5: Projet de synchronisation avec les fichiers Gradle
Étape 6: Sélectionnez l’appareil et exécutez l’application