[PYTHON] Créer une intelligence artificielle par apprentissage automatique à l'aide de TensorFlow à partir de zéro connaissance - Introduction 1

TensorFlow

TensorFlow est une bibliothèque d'apprentissage automatique publiée par Google en tant que source ouverte. www.tensorflow.org

C'est la conclusion que j'ai tirée après avoir lu un livre d'apprentissage automatique pendant un moment et avoir touché TensorFlow.

** TensorFlow n'est pas quelque chose que les débutants en apprentissage automatique peuvent facilement utiliser **

Avec TensorFlow, vous pouvez intégrer intuitivement le concept d'apprentissage automatique dans votre code. Cependant, pour cela, il est nécessaire de connaître à l'avance la théorie de l'apprentissage automatique. Si vous ne comprenez pas les termes «réseau neuronal» et «exploration de modèles structurels», vous devrez vous arrêter et enquêter.

Cependant, si vous aimez les mathématiques, le monde où tout est exprimé par des formules mathématiques est étrangement amusant. Si vous connaissez l'algorithme et comment l'utiliser, vous pouvez certainement implémenter des choses intéressantes à un niveau considérable.

Installation de TensorFlow (MacOS)

Eh bien, c'est la même chose même si vous regardez ici et installez-le, mais je vais l'écrire pour le moment. Il sera terminé dans environ 5 minutes. https://www.tensorflow.org/versions/master/get_started/os_setup.html

Vérifiez la version de python. Ok si 2.7 ou supérieur

$ python -V
Python 2.7.10

Installer pip

$ sudo easy_install pip

Installez virtualenv

$ sudo pip install --upgrade virtualenv

Créez un environnement virtualenv dans ~ / tensorflow (modifiez la spécification du dossier si vous souhaitez le placer dans un autre emplacement)

$ virtualenv --system-site-packages ~/tensorflow

Activez tensorflow. Après l'exécution, l'affichage de l'invite de commande sera (tensorflow) $.

$ source ~/tensorflow/bin/activate

Installez TensorFlow

(tensorflow)$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

fin.

Création de programme Python facile

En réponse au sentiment de "Je veux tout déplacer parce que ça n'a pas d'importance!" Avant une théorie difficile, je vais commencer par du code Python que même les utilisateurs Python inexpérimentés peuvent facilement comprendre.

x = 1
y = x + 2
print(y)

Écrivez ce code et enregistrez-le sous test.py. Et quand vous l'exécutez

(tensorflow)$ python test.py
3

Naturellement, le résultat est 3.

Réécrire un programme Python simple avec TensorFlow

Ensuite, réécrivons cela un peu comme TensorFlow.

import tensorflow as tf

x = tf.constant(1, name='x')
y = tf.Variable(x + 2, name='y')

print(y)

C'est le résultat de l'enregistrement et de l'exécution avec test2.py.

(tensorflow) $ python test2.py
<tensorflow.python.ops.variables.Variable object at 0x10f6e5110>

Quelque chose est évidemment différent. La raison en est qu'il exécute un processus différent du code précédent.

Expliquez le contenu du traitement ligne par ligne dans le code de test2.py

  1. Importez le module tensorflow et faites-le tf
  2. Faites une valeur constante et laissez-la être x. Mettez le chiffre 1 dans le x
  3. Créez une variable et laissez-la être y. Soit la définition de y la même que x + 2
  4. Sortie y

En d'autres termes, la différence subtile est que y est uniquement défini et que la valeur numérique n'est pas encore entrée comme le code précédent.

Si vous modifiez ceci en un code approprié, ce sera comme ça.

import tensorflow as tf

x = tf.constant(1, name='x')
y = tf.Variable(x + 2, name='y')

model = tf.initialize_all_variables()

with tf.Session() as session:
    session.run(model)
    print(session.run(y))

Explication pour chaque ligne

  1. Importez le module tensorflow et faites-le tf
  2. Faites une valeur constante et laissez-la être x. Mettez le chiffre 1 dans le x
  3. Créez une variable et laissez-la être y. Soit la définition de y la même que x + 2
  4. Initialiser les variables avec initialize_all_variables
  5. Créez une session à exécuter 6.4 Exécutez le modèle créé en 4.
  6. Exécutez y pour sortir

Ensuite, le résultat est 3 comme indiqué.

(tensorflow) hellow $ python test2.py
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 4
can't determine number of CPU cores: assuming 4
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 4
3

Résumé de l'introduction 1

Vous pensez peut-être que l'exemple ci-dessus est "gênant", mais ce n'est qu'un exemple simple. Et c'est là que le code normal et TensorFlow sont un peu différents. Si vous pensez: "Ce n'est pas si simple, mais expliquez" le traitement du langage naturel "ou" la prédiction future "," si vous ne comprenez pas cela, vous reviendrez ici plus tard. Je l'ai d'abord écrit d'ici parce que ça finirait. Si vous êtes enthousiasmé par la nouvelle qu'AlphaGo a vaincu le champion du monde de Go et que vous êtes enthousiasmé par Amazon Echo, qui répond bien simplement en parlant, vous êtes sûr d'être plongé dans le monde de l'apprentissage automatique avec TensorFlow. Non, apprentissage automatique Omoroi! chaud!

Ce livre d'introduction sera vraiment intéressant à partir de la prochaine fois.

À tous les ingénieurs

"Un casse-tête qui peut être résolu par la plupart des ingénieurs, mais pas seulement par les 10% les plus pauvres des mauvais ingénieurs?" J'ai fait des séries. Si vous êtes intéressé, essayez de le résoudre. À propos, ce puzzle n'a rien à voir avec TensorFlow. http://tango-ruby.hatenablog.com/entry/2015/11/30/122814

Recommended Posts

Créer une intelligence artificielle par apprentissage automatique à l'aide de TensorFlow à partir de zéro connaissance - Introduction 1
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Création d'un modèle d'estimation de position pour la compétition d'intelligence humaine de loup à l'aide de l'apprentissage automatique
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Installation de TensorFlow, une bibliothèque d'apprentissage automatique de Google
Apprentissage automatique (TensorFlow) + Lotto 6
Intelligence artificielle, machine learning, deep learning pour mettre en œuvre et comprendre
Collectez des données d'apprentissage automatique en grattant des bases de données publiques biosourcées
Apprendre des bases Manuel sur l'intelligence artificielle Chapitre 5 Problèmes de fin de chapitre
[Pour les débutants] Re: Algorithme génétique partant de zéro [Intelligence artificielle]
4 [/] Quatre arithmétiques par apprentissage automatique
Utilisation des données ouvertes de Data City Sabae pour prédire la valeur de la jauge de niveau d'eau par apprentissage automatique Partie 2
Résumé des API recommandées pour l'intelligence artificielle, l'apprentissage automatique et l'IA
Deep learning / Deep learning from scratch 2 Chapitre 4 Mémo
Deep learning / Deep learning made from scratch Chapitre 3 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 5 Mémo
[Apprentissage automatique] Comprendre la décorrélation des mathématiques
Résumé de l'apprentissage automatique par les débutants de Python
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 7 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 8 Mémo
Deep learning / Deep learning made from scratch Chapitre 5 Mémo
Deep learning / Deep learning made from scratch Chapitre 4 Mémo
Deep learning / Deep learning from scratch 2 Chapitre 3 Mémo
Créer un modèle d'apprentissage à l'aide de MNIST
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 6 Mémo
Développement d'applications à l'aide d'Azure Machine Learning
Viser à devenir un ingénieur en apprentissage automatique en utilisant des MOOC depuis des postes de vente
[ML-Aents] J'ai essayé l'apprentissage automatique en utilisant TensorFlow de Unity et Python (compatible v0.11β)
[Mémo / Création] "Apprentissage automatique pratique avec Scikit-Learn et TensorFlow" Traduction en japonais