Skip to content

Latest commit

 

History

History
117 lines (95 loc) · 5.8 KB

README.md

File metadata and controls

117 lines (95 loc) · 5.8 KB


TensorFlow est une bibliothèque Open Source de deep learning créée par Google et compatible avec le langage Python. Il s’agit d’une boîte à outils permettant de standardiser et de simplifier la création et le déploiement de modèles de deep learning.

Créé par l’équipe Google Brain en 2011, sous la forme d’un système propriétaire dédié au réseaux de neurones de Deep Learning, TensorFlow s’appelait à l’origine DistBelief. Par la suite, le code source de DistBelief a été modifié et cet outil est devenu une bibliothèque basée application. En 2015, précisement le 9 novembre, il a été renommé en TensorFlow et Google l’a rendu open source. Depuis lors, il a subi plus de 21000 modifications par la communication et est passé en version 1.0 en février 2017.

TensorFlow a été conçu par des ingénieurs de Google afin de mener à bien des projets de recherche en machine learning ainsi que sur le sujet de deep learning. Fruit d’une longue expérience préalable, il a été conçu pour mettre en production le fruit des équipes de recherches sur différents matériels, y compris ceux ayant peu de ressources (montres connectées, électronique embarquée, etc.). Cet outil est adéquat pour une large gamme d’applications. En particulier, TensorFlow permet d’entraîner au mieux des modèles nécessitant de grandes banques de données.

Avant propos

La mise en production des modèles d’IA est une tâche qui se rend parfois difficile, elle permet la création et la maximisation de la valeur ajoutée pour les entreprises. De plus, cette tâche ne s’arrête pas une fois que le modèle est passé en production, car il est essentiel de le maintenir, l’évaluer et le réentrainer de temps en temps. Cela peut être justifié par le fait que les données vont continuer à augmenter en véhiculant de nouvelles informations plus précises et plus riches. Toutes ces étapes doivent être automatisées, afin de limiter au maximum l’intervention humaine. Les applications TensorFlow peuvent être exécutées sur une machine locale, un cluster sur le Cloud, des smartphones et tablettes iOS ou Android, ou encore des CPU et des GPU. Sur son propre Cloud, Google propose d’exécuter TensorFlow sur ses puces TensorFlow Processing Unit (TPU) pour profiter d’une accélération accrue. Les modèles créés par TensorFlow peuvent ensuite être déployés sur n’importe quel appareil afin de délivrer des prédictions.

Donc, au lieu de s'occuper de l'implémentation des algorithmes dans les moindres détails ou de chercher des solutions appropriées pour lier une fonction en sortie avec une autre fonction en entrée, le développeur peut se concentrer sur la logique globale de l'application, TensorFlow s'occupant des détails en arrière. Il propose différents niveaux d’APIs, cela permet donc de le rendre facilement accessible à des développeurs ayant très peu de connaissances en deep learning, tout en conservant un intérêt indéniable pour des chercheurs.

TensorFlow peut être vu comme un système de programmation dans lequel les calculs sont représentés sous la forme d’un graphe. On parle souvent de graphe de calcul. Les sommets représentent des opérations mathématiques qui peuvent aller d’une simple addition à des fonctions très complexes, et les arêtes représentent des structures spécifiques qu’on appelle tensors.

TensorFlow possède un très bon outil de visualisation qui s’appelle TensorBoard. Cet outil permet de visualiser les données, l’évolution des variables et les graphes de calcul. Il s’agit d’un outil bien conçu et facile à utiliser, à tel point que les développeurs de PyTorch, le principal concurrent de TensorFlow aujourd’hui, ont développé un module spécifique permettant d’intégrer, même partiellement, TensorBoard dans l’écosystème PyTorch.

Prérequis

  1. Avoir quelque notion de base en mathématique.
  2. Savoir écrire des algorithmes et programmer dans un langage de programmation.
  3. Savoir programmer en langage Python.
  4. Maîtriser les bases de la programmation orientée objet (POO).
  5. Même si ce n'est pas obligatoire avant de commencer ce cour, il faut au moins avoir suivie un cour de machine learning et/ou de data science ailleurs qu'ici. Car je ne vais pas trop m'attarder sur ces notions de base.

Quant à moi, avant de commencer la programmation avec TensorFlow, dans une session introductive, je vais d'abord te parler un peu des réseaux de neurones et de leurs expressions mathématiques. Mais, avant cela, je vais quand même consacrer quelques paragraphes pour te parler de l'intelligence artificielle, l'apprentissage automatique (Machine Learning) et de la différence qui existe entre ces deux notions. Pourquoi ? Et bien, parce que nous allons couvrir tous ces thèmes tout au long de ce cours. Il est donc vital que tu comprenne ce que ces trois thèmes signifient réellement.

Table des Contenus