Aller au contenu

Apprentissage automatique avec TensorFlow

TensorFlow est un framework de machine learning open-source d'apprentissage automatique. C'est l'un des outils les plus utilisés dans le domaine de l'intelligence artificielle. Porté par Google, il ne cesse de se développer. Dans cette formation, je vous apprendrai les bases de Tensorflow et comment concevoir, entrainer et déployer des modèles de deep learning avec.

De DistBelief à TensorFlow

TensorFlow est l'évolution du framework DistBelief, initialement développé par Google Brain en 2011 puis repris par Google. Le 9 novembre 2015, Google a ouvert le code source de TensorFlow sous licence Apache. Le code source de TensorFlow est écrit à 64% en C++ mais il propose des interfaces avec les languages Python, R ou encore Julia et JavaScript.

TensorFlow 2.0

En Septembre 2019, la version 2.0 de TensorFlow est officellement disponible, c'est une révolution qui permet à tensorFlow d'être compétitif face à la montée de son concurrent PyTorch. Voici quelques unes des changements majeurs:

  • SavedModel : permet de déployer les modèles sur différentes plateformes
  • Eager Execution : La création de session n'est plus nécessaire dans la version 2.0
  • Keras : devient l'API haut-niveau de TensorFlow intégré par défaut sous tf.keras
  • tf.Data : est la nouvelle API pour créer les pipelines de données

Pour en savoir plus, je renvoie à cet article plus détaillé What's New in Tensorflow 2.0?.

L'écosystème TensorFlow

TensorFlow est toute une plateforme dédiée au machine learning. L’écosystème propose des outils pour une gestion de bout en bout de l'ensemble du cycle de développement des modèles:

  • tf.data : Pipeline de données
  • Keras : Modélisation
  • TensorBoard : Suivi et Évaluation
  • TensorFlow Hub : Partage des modèles
  • TensorFlow Serving : Déploiement des modèles

Keras

Keras est un framework open-source d'apprentissage automatique créé par François Chollet, un ingénieur de Google. Keras est écrit en Python et propose une interface haut niveau simple et intuitive à TensorFlow et Theano qui sont utilisés au choix en arrière-plan. Keras est aujourd'hui la principale API de TensorFlow pour la conception et l'entraînement des modèles. Keras est directement intégré dans TensorFlow et n'a pas besoin d'être installé séparément.

Applications

TenssorFlow est utilisé dans le développement de systèmes d'intélligence artficielle. Voici quelques applications possibles avec TensorFlow

  • Reconnaissance d'image
  • Annotation d'image
  • Classificiation de texte
  • Génération de texte
  • Traduction de texte
  • Prédiction d'une série chronologique

À quoi ressemble un code TensorFlow

TensorFlow Sample Code
# Import TensorFlow
import tensorflow as tf

# Load data
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Design model
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10),
  tf.keras.layers.Softmax()
])
model.compile(optimizer='adam',
              loss=loss_fn,
              metrics=['accuracy'])

# Train model
model.fit(x_train, y_train, epochs=5)

# Evaluate model
model.evaluate(x_test,  y_test, verbose=2)

TensorFlow Developer Certificate

La cetification Google TensorFlow Developer Certificate est une certification qui permet aux utilisateurs de TensorFlow de mettre en valeur leur expertise du machine learning.

png

  • Building neural network models using TensorFlow
  • Image Classification
  • Natural language processing (NLP)
  • Times series, sequences and predictions

Pour avoir plus de détails, je vous invite à visiter le site de TensorFlow https://www.tensorflow.org/ et de Keras https://keras.io/.