TensorFlow est la bibliothèque de réseaux neuronaux de Google. Étant donné que l'apprentissage automatique est la chose la plus en vogue actuellement, il n'est pas surprenant que Google figure parmi les leaders de cette nouvelle technologie.
Dans cet article, vous apprendrez à installer TensorFlow sur le Raspberry Pi et à exécuter une classification d'images simple sur un réseau de neurones pré-formé.
Pour démarrer avec la reconnaissance d'image, vous aurez besoin d'un Raspberry Pi (n'importe quel modèle fonctionnera) et d'une carte SD avec le système d'exploitation Raspbian Stretch (9.0+) (si vous êtes nouveau sur le Raspberry Pi, utilisez notre guide d'installation).
Démarrez le Pi et ouvrez une fenêtre de terminal. Assurez-vous que votre Pi est à jour et vérifiez votre version de Python.
sudo apt-get update
python --version
python3 --version
Vous pouvez utiliser Python 2.7 ou Python 3.4+ pour ce didacticiel. Cet exemple concerne Python 3. Pour Python 2.7, remplacez Python3 avec Python , et pip3 avec pip tout au long de ce didacticiel.
Pip est un gestionnaire de packages pour Python, généralement installé en standard sur les distributions Linux.
Si vous constatez que vous ne l'avez pas, suivez les instructions d'installation pour Linux de cet article pour l'installer.
L'installation de TensorFlow était un processus assez frustrant, mais une mise à jour récente le rend incroyablement simple. Bien que vous puissiez suivre ce didacticiel sans aucune connaissance préalable, il peut être utile de comprendre les bases de l'apprentissage automatique avant de l'essayer.
Avant d'installer TensorFlow, installez Atlas bibliothèque.
sudo apt install libatlas-base-dev
Une fois cela terminé, installez TensorFlow via pip3
installation pip3 --user tensorflow
Cela installera TensorFlow pour l'utilisateur connecté. Si vous préférez utiliser un environnement virtuel, modifiez votre code ici pour refléter cela.
Une fois installé, vous pouvez tester s'il fonctionne avec l'équivalent TensorFlow d'un Hello, world !
À partir de la ligne de commande, créez un nouveau script Python en utilisant nano ou vim (Si vous ne savez pas lequel utiliser, ils ont tous deux des avantages) et nommez-le quelque chose de facile à retenir.
sudo nano tftest.py
Saisissez ce code, fourni par Google pour tester TensorFlow :
importer tensorflow en tant que tf
bonjour =tf.constant('Bonjour, TensorFlow !')
sess =tf.Session()
print(sess.run(hello))
Si vous utilisez nano, quittez en appuyant sur Ctrl + X et enregistrez votre fichier en tapant Y lorsque vous y êtes invité.
Exécutez le code depuis le terminal :
python3 tftest.py
Vous devriez voir "Hello, TensorFlow" imprimé.
Si vous exécutez Python 3.5, vous recevrez plusieurs avertissements d'exécution. Les didacticiels officiels de TensorFlow reconnaissent que cela se produit et vous recommandent de l'ignorer.
Ça marche! Maintenant, faisons quelque chose d'intéressant avec TensorFlow.
Dans le terminal, créez un répertoire pour le projet dans votre répertoire personnel et accédez-y.
mkdir tf1
cd tf1
TensorFlow dispose d'un référentiel git avec des exemples de modèles à essayer. Clonez le dépôt dans le nouveau répertoire :
clone git https://github.com/tensorflow/models.git
Vous souhaitez utiliser l'exemple de classification d'image, qui peut être trouvé sur models/tutorials/image/imagenet . Accédez à ce dossier maintenant :
modèles cd/tutoriels/image/imagenet
Le script de classification d'image standard s'exécute avec une image fournie d'un panda :
Pour exécuter le classificateur d'image standard avec l'image panda fournie, entrez :
python3 classify_image.py
Cela envoie une image d'un panda au réseau de neurones, qui renvoie des suppositions sur ce qu'est l'image avec une valeur pour son niveau de certitude.
Comme le montre l'image de sortie, le réseau neuronal a deviné correctement, avec une certitude de près de 90 %. Il pensait également que l'image pouvait contenir une pomme cannelle, mais il n'était pas très sûr de cette réponse.
L'image du panda prouve que TensorFlow fonctionne, mais ce n'est peut-être pas surprenant étant donné qu'il s'agit de l'exemple fourni par le projet. Pour un meilleur test, vous pouvez donner votre propre image au réseau de neurones pour la classification.
Dans ce cas, vous verrez si le réseau neuronal TensorFlow peut identifier George.
Rencontrez Georges. George est un dinosaure. Pour alimenter cette image (disponible ici sous forme recadrée) dans le réseau de neurones, ajoutez des arguments lors de l'exécution du script.
python3 classify_image.py --image_file=/home/pi/george.jpg
Le image_file= suivre le nom du script permet l'ajout de n'importe quelle image par chemin. Voyons comment ce réseau de neurones s'est comporté.
Pas mal! Bien que George ne soit pas un tricératops, le réseau neuronal a classé l'image comme un dinosaure avec un degré élevé de certitude par rapport aux autres options.
Cette implémentation de base de TensorFlow a déjà du potentiel. Cette reconnaissance d'objet se produit sur le Pi et ne nécessite aucune connexion Internet pour fonctionner. Cela signifie qu'avec l'ajout d'un module de caméra Raspberry Pi et d'une batterie compatible Raspberry Pi, l'ensemble du projet pourrait devenir portable.
La plupart des tutoriels ne font qu'effleurer la surface d'un sujet, mais cela n'a jamais été aussi vrai que dans ce cas. L'apprentissage automatique est un sujet incroyablement dense.
Une façon d'approfondir vos connaissances serait de suivre un cours dédié. En attendant, familiarisez-vous avec l'apprentissage automatique et le Raspberry Pi avec ces projets TensorFlow que vous pouvez essayer vous-même.