[PYTHON] J'ai essayé "Lobe" qui peut facilement entraîner le modèle d'apprentissage automatique publié par Microsoft.

Microsoft a publié un outil appelé Lobe. Cet outil facilite la création d'un modèle d'apprentissage automatique pour la classification d'images.

Deux modèles, "ResNet-50 V2" et "MobileNet V2", peuvent être utilisés pour la classification des images Lobe. Chaque modèle a ses propres caractéristiques et il est nécessaire de les utiliser correctement en fonction de l'objectif et de l'environnement d'exécution.

Une précision de prédiction élevée peut être obtenue avec ResNet-50 V2, mais le temps de prédiction est plus long et plus de mémoire est utilisée. MobileNetV2 a une vitesse de prédiction rapide et une faible utilisation de la mémoire, mais la précision de la prédiction n'est pas élevée.

Utilisez ResNet-50 V2 lorsqu'une précision élevée est requise dans un environnement avec une certaine puissance de la machine. Je pense que MobileNet V2 sera utilisé pour les smartphones et Raspberry Pi.

Quel que soit le modèle que vous utilisez, vous pouvez mieux vous entraîner avec moins de données en utilisant l'apprentissage par transfert.

Cette fois, j'aimerais écrire une procédure pour apprendre le modèle de classification d'images en utilisant les images chien / chat publiées sur kaggle. ResNet-50 V2 est utilisé comme modèle de base.

Télécharger Lobe

Vous pouvez le télécharger depuis la page officielle ci-dessous Lobe

Préparez les données à utiliser pour l'apprentissage

Cette fois, nous utiliserons les données publiées par kaggle. Dogs vs. Cats

Apprendre le modèle avec Lobe

Lancez Lobe et sélectionnez Nouveau projet. スクリーンショット 2020-10-31 15.39.06.png

Définissez le modèle de base avant de commencer l'apprentissage. Sélectionnez [Optimiser pour la précision] dans [Fichier] - [Paramètres du projet] スクリーンショット 2020-11-04 0.38.42.png

Cliquez sur Importer en haut à droite et sélectionnez Images. スクリーンショット 2020-10-31 15.41.58.png

Tout d'abord, chargez l'image du chat à partir des données d'entraînement téléchargées depuis kaggle. スクリーンショット 2020-10-31 15.47.43.png

Attachez l'étiquette à l'image chargée. À ce stade, si vous sélectionnez toutes les images (commande + A pour mac), vous pouvez attacher Lbel à la fois. スクリーンショット 2020-10-31 15.51.10.png

Ensuite, lisez l'image du chien de la même manière et attachez une étiquette. スクリーンショット 2020-10-31 15.53.54.png

La formation démarre automatiquement lorsque vous chargez deux types d'images. train_start.png

Après l'entraînement, cliquez sur Lecture pour charger l'image de test en faisant glisser et en déposant pour vérifier le résultat de la prédiction. スクリーンショット 2020-10-31 16.01.48.png

Si la prédiction de réponse correcte de l'image chargée est incorrecte, cliquez sur l'emplacement indiqué dans l'image ci-dessous pour corriger l'étiquette et recommencer. スクリーンショット 2020-10-31 16.07.08.png

De cette façon, vous pouvez créer très facilement un modèle de classification d'images. Vous pouvez également capturer et utiliser des images à partir d'une caméra Webc au lieu de les importer.

Dans la vidéo officielle ci-dessous, nous prenons plusieurs images avec une caméra Web et créons un modèle qui identifie «Boire» et «Ne pas boire» en fonction d'elles.

Introducing Lobe | Build your first machine learning model in ten minutes.

Dans Lobe, le modèle appris peut être exporté et utilisé dans CoreML et TensorFlow. Consultez l'article ci-dessous pour savoir comment exporter un modèle et l'utiliser en Python. Comment utiliser le modèle appris dans Lobe en Python

J'ai créé une API REST en combinaison avec le service TensorFlow. Créez une API REST à l'aide du modèle appris dans Lobe et TensorFlow Serving.

Recommended Posts

J'ai essayé "Lobe" qui peut facilement entraîner le modèle d'apprentissage automatique publié par Microsoft.
J'ai essayé d'appeler l'API de prédiction du modèle d'apprentissage automatique de WordPress
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
J'ai essayé d'organiser les index d'évaluation utilisés en machine learning (modèle de régression)
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé de prédire l'évolution de la quantité de neige pendant 2 ans par apprentissage automatique
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
J'ai essayé le diagramme en tant que code (diagrammes) qui peut gérer le code du diagramme de configuration
J'ai essayé de former le modèle RWA (Recurrent Weighted Average) dans Keras
J'ai essayé d'implémenter diverses méthodes d'apprentissage automatique (modèle de prédiction) en utilisant scicit-learn
J'ai essayé de traiter et de transformer l'image et d'élargir les données pour l'apprentissage automatique
Mise en place d'un modèle de prédiction des taux de change (taux dollar-yen) par machine learning
J'ai essayé d'utiliser le module Datetime de Python
Classer les informations liées à l'apprentissage automatique par modèle de sujet
Mitsuhiko "Je peux dire au criminel en me présentant!"
J'ai essayé d'augmenter ou de diminuer le nombre en programmant
J'ai essayé de comparer la précision des modèles d'apprentissage automatique en utilisant kaggle comme thème.
Application correspondante, j'ai essayé de prendre des statistiques de personnes fortes et j'ai essayé de créer un modèle d'apprentissage automatique
Expliquez et déplacez réellement le modèle SMIS qui peut «essayer virtuellement des vêtements» par apprentissage en profondeur
J'ai créé une API avec Docker qui renvoie la valeur prédite du modèle d'apprentissage automatique
En arrangeant la différence entre «statistiques» et «apprentissage automatique», je peux voir la raison pour laquelle «l'apprentissage automatique» ne peut pas être utilisé dans de nombreuses entreprises!