Objectif
Mener un modèle entraîné jusqu'au téléphone, en couvrant toute la chaîne, de la préparation des données à l'inférence embarquée.
Une expérience complète d'apprentissage profond, de l'entraînement jusqu'au téléphone : apprentissage par transfert pour la classification binaire chats/chiens avec MindSpore et MobileNetV2, puis conversion au format MindSpore Lite et déploiement sur un appareil Android pour l'inférence embarquée.
Le projet part du jeu de données chats-et-chiens de Kaggle, passe par le nettoyage et la division des données, l'entraînement par transfert de MobileNetV2 et la conversion du modèle, puis installe le modèle .ms dans une application Android qui classe directement les photos de la galerie sur le téléphone. Toute la chaîne s'exécute localement, sans service d'inférence dans le cloud.
Mener un modèle entraîné jusqu'au téléphone, en couvrant toute la chaîne, de la préparation des données à l'inférence embarquée.
Un classifieur MobileNetV2 est entraîné avec MindSpore sur un PC puis exporté au format intermédiaire MindIR, converti en modèle .ms avec le MindSpore Lite Converter, et enfin poussé via ADB pour que l'application Android le charge.
MindSpore 2.0 et MindSpore Lite Converter 2.0 ; MobileNetV2 comme modèle ; Kaggle Cats vs Dogs (PetImages) comme jeu de données ; opencv-python, matplotlib et Pillow parmi les dépendances.
Il s'agit d'une expérience de cours destinée à comprendre l'apprentissage par transfert et le déploiement embarqué. La reconnaissance se limite à la classification binaire chats/chiens et ne s'étend pas à des distinctions de races plus fines.
Chaque étape a des entrées et des sorties claires, ce qui permet de reproduire le pipeline dans l'ordre.
Les images corrompues ou anormales sont filtrées, puis l'ensemble est divisé en portions d'entraînement et de validation pour que des données sales ne pèsent pas sur l'entraînement.
Un MobileNetV2 pré-entraîné est chargé avec ses poids de réseau figés et seule la tête de classification est entraînée, ce qui converge rapidement sur un petit jeu de données.
La sortie d'entraînement est exportée en MindIR puis convertie par le MindSpore Lite Converter au format .ms que l'appareil peut charger.
Le modèle et ses ressources sont poussés via ADB dans l'application Android, et l'inférence s'exécute ensuite entièrement sur le téléphone.
Les photos de la galerie sont classées directement sur le téléphone, et les résultats sont comparés aux courbes de perte et de précision enregistrées pendant l'entraînement.
Une expérience de cours d'apprentissage profond centrée sur le lien entre entraînement et déploiement, sans ambition de repousser la précision de classification à sa limite.