Qu'est-ce que TensorFlow ? Comment ça marche [avec exemples]
Publié: 2021-09-22TensorFlow est une bibliothèque open source utilisée pour créer des modèles d'apprentissage automatique. C'est une plateforme incroyable pour toute personne passionnée par l'apprentissage automatique et l'intelligence artificielle. De plus, avec la croissance constante du marché de l'apprentissage automatique, des outils comme TensorFlow sont devenus les projecteurs alors que les entreprises technologiques explorent les diverses capacités de la technologie de l'IA. Il ne fait aucun doute que le marché mondial de l'apprentissage automatique devrait atteindre une valorisation de 117,19 milliards de dollars américains d'ici 2027 .
Mais dès le départ, il est pertinent de savoir ce qu'est TensorFlow et ce qui en fait un choix populaire parmi les développeurs du monde entier.
Table des matières
Qu'est-ce que TensorFlow ?
TensorFlow est une plate-forme open source de bout en bout pour l'apprentissage automatique avec un accent particulier sur les réseaux de neurones profonds. L'apprentissage en profondeur est un sous-ensemble de l'apprentissage automatique qui implique l'analyse de données non structurées à grande échelle. L'apprentissage en profondeur diffère de l'apprentissage automatique traditionnel en ce que ce dernier traite généralement des données structurées.
TensorFlow se vante d'une collection flexible et complète de bibliothèques, d'outils et de ressources communautaires. Il permet aux développeurs de créer et de déployer des applications de pointe basées sur l'apprentissage automatique. L'une des meilleures choses à propos de TensorFlow est qu'il utilise Python pour fournir une API frontale pratique pour créer des applications tout en les exécutant en C++ optimisé et hautes performances.
L'équipe Google Brain a initialement développé la bibliothèque d'apprentissage en profondeur TensorFlow Python pour un usage interne. Depuis lors, la plate-forme open source a connu une croissance phénoménale de son utilisation dans les systèmes de R&D et de production.
Quelques bases de TensorFlow
Maintenant que nous avons une idée fondamentale de ce qu'est TensorFlow , il est temps d'approfondir plus de détails sur la plate-forme.

Vous trouverez ci-dessous un bref aperçu de certains concepts de base liés à TensorFlow. Nous commencerons par les tenseurs - les composants de base de TensorFlow dont la plate-forme tire son nom.
Tenseurs
Dans la bibliothèque d'apprentissage en profondeur TensorFlow Python , un tenseur est un tableau qui représente les types de données. Contrairement à un vecteur ou un tableau unidimensionnel ou à une matrice bidimensionnelle, un tenseur peut avoir n dimensions. Dans un tenseur, les valeurs contiennent des types de données identiques avec une forme connue. La forme représente la dimensionnalité. Ainsi, un vecteur sera un tenseur à une dimension, une matrice est un tenseur à deux dimensions et un scalaire serait un tenseur à zéro dimension.
La source
Façonner
Dans la bibliothèque Python TensorFlow , la forme fait référence à la dimensionnalité du tenseur.
La source
Dans l'image ci-dessus, la forme du tenseur est (2,2,2).
Taper
Le type représente le type de données que contiennent les valeurs d'un tenseur. En règle générale, toutes les valeurs d'un tenseur contiennent un type de données identique. Les types de données dans TensorFlow sont les suivants :
- entiers
- point flottant
- entiers non signés
- booléens
- cordes
- entier avec opérations quantifiées
- nombres complexes
Graphique
Un graphe est un ensemble de calculs qui se déroulent successivement sur des tenseurs d'entrée. Il comprend un agencement de nœuds représentant les opérations mathématiques dans un modèle.
Session
Une session dans TensorFlow exécute les opérations dans le graphique. Il est exécuté pour évaluer les nœuds dans un graphe.
Les opérateurs
Les opérateurs dans TensorFlow sont des opérations mathématiques prédéfinies.
Comment fonctionnent les tenseurs ?
Dans TensorFlow, les graphiques de flux de données décrivent comment les données se déplacent à travers une série de nœuds de traitement. TensorFlow utilise des graphiques de flux de données pour créer des modèles. Les calculs de graphes dans TensorFlow sont facilités par les interconnexions entre les tenseurs.
Les tenseurs à n dimensions sont transmis au réseau de neurones en tant qu'entrée, qui passe par plusieurs opérations pour donner la sortie. Les graphiques ont un réseau de nœuds, où chaque nœud représente une opération mathématique. Mais le bord entre les nœuds est un tableau de données multidimensionnel ou un tenseur. Une session TensorFlow permet l'exécution de graphes ou de parties de graphes. Pour cela, la session alloue des ressources sur une ou plusieurs machines et conserve les valeurs réelles des résultats intermédiaires et des variables.
La source
Les applications TensorFlow peuvent être exécutées sur presque toutes les cibles pratiques, qu'il s'agisse de processeurs, de GPU, d'un cluster dans le cloud, d'une machine locale ou d'appareils Android et iOS.
Graphique de calcul TensorFlow
Un graphe de calcul dans TensorFlow est un réseau de nœuds où chaque nœud opère une multiplication, une addition ou évalue une équation multivariée. Dans TensorFlow, des codes sont écrits pour créer un graphique, exécuter une session et exécuter le graphique. Chaque variable que nous attribuons devient un nœud où nous pouvons effectuer des opérations mathématiques telles que la multiplication et l'addition.
Voici un exemple simple pour montrer la création d'un graphe de calcul :
Supposons que nous voulions effectuer le calcul : F(x,y,z) = (x+y)*z.
Les trois variables x, y et z se traduiront par trois nœuds dans le graphique ci-dessous :

La source
Étapes de construction du graphique :
Étape 1 : Attribuez les variables. Dans cet exemple, les valeurs sont :
x = 1, y = 2 et z = 3
Étape 2 : Additionnez x et y.
Étape 3 : Multipliez z par la somme de x et y.
Enfin, nous obtenons le résultat sous la forme '9.'
En plus des nœuds où nous avons assigné les variables, le graphe a deux autres nœuds - un pour l'opération d'addition et un autre pour l'opération de multiplication. Par conséquent, il y a cinq nœuds en tout.
Éléments de programmation fondamentaux dans TensorFlow
Dans TensorFlow, nous pouvons attribuer des données à trois types d'éléments de données différents : des constantes, des variables et des espaces réservés.
Regardons ce que représente chacun de ces éléments de données.
1. Constantes
Comme leur nom l'indique, les constantes sont des paramètres dont les valeurs ne changent pas. Dans TensorFlow, une constante est définie à l'aide de la commande tf.constant() . Pendant le calcul, les valeurs des constantes ne peuvent pas être modifiées.
Voici un exemple :
c = tf.constant(2.0,tf.float32)
d = tf.constant(3.0)
Impression (c,d)
2. Variables
Les variables permettent d'ajouter de nouveaux paramètres au graphique. La commande tf.variable() définit une variable qui doit être initialisée avant d'exécuter le graphe dans une session.
Voici un exemple :
Y = tf.Variable([.4],dtype=tf.float32)
a = tf.Variable([-.4],dtype=tf.float32)
b = tf.placeholder(tf.float32)
modèle_linéaire = Y*b+a
3. Espaces réservés
À l'aide d'espaces réservés, on peut introduire des données dans un modèle depuis l'extérieur. Il permet une affectation ultérieure des valeurs. La commande tf.placeholder() définit un espace réservé.
Voici un exemple :
c = tf.placeholder(tf.float32)
ré = c*2
result = sess.run(d,feed_out={c:3.0})
L'espace réservé est principalement utilisé pour alimenter un modèle. Les données de l'extérieur sont introduites dans un graphique à l'aide d'un nom de variable (le nom de la variable dans l'exemple ci-dessus est feed_out). Ensuite, lors de l'exécution de la session, nous spécifions comment nous voulons alimenter le modèle en données.
Exemple de séance :
L'exécution du graphe se fait en appelant une session. Une session est exécutée pour évaluer les nœuds du graphique, appelée runtime TensorFlow. La commande sess = tf.Session() crée une session.
Exemple:
x = tf.constant(3.0)
y = tf.constant(4.0)
z = x+y
sess = tf.Session() #Lancement de la session
print(sess.run(z)) #Évaluer le tenseur z
Dans l'exemple ci-dessus, il y a trois nœuds - x, y et z. Le nœud 'z' est l'endroit où l'opération mathématique est effectuée, et par la suite, le résultat est obtenu. Lors de la création d'une session et de l'exécution du nœud z, les nœuds x et y seront d'abord créés. Ensuite, l'opération d'addition aura lieu au nœud z. Par conséquent, nous obtiendrons le résultat '7'.
Faites progresser votre carrière dans le ML et le Deep Learning avec upGrad
Vous cherchez le meilleur endroit pour en savoir plus sur ce qu'est TensorFlow ? Alors upGrad est là pour vous aider dans votre parcours d'apprentissage.
Avec une base d'apprenants couvrant plus de 85 pays, upGrad est la plus grande plate-forme EdTech supérieure d'Asie du Sud qui a touché plus de 500 000 professionnels actifs dans le monde. Avec des professeurs de classe mondiale, des collaborations avec des partenaires de l'industrie, les dernières technologies et les pratiques pédagogiques les plus récentes, upGrad garantit une expérience d'apprentissage saine et immersive à ses plus de 40 000 apprenants rémunérés dans le monde.
Le programme de certificat avancé en apprentissage automatique et apprentissage en profondeur est un cours de 6 mois rigoureux sur le plan académique et pertinent pour l'industrie couvrant les concepts de l'apprentissage en profondeur.
Faits saillants du programme :

- Reconnaissance prestigieuse de l'IIIT Bangalore
- Plus de 240 heures de contenu avec plus de 5 études de cas et projets, plus de 24 sessions en direct et plus de 15 sessions de coaching d'experts
- Couverture complète de 12 outils, langages et bibliothèques (y compris TensorFlow)
- Assistance professionnelle à 360 degrés, sessions de mentorat et opportunités de réseautage entre pairs
Le Master of Science en apprentissage automatique et intelligence artificielle d'upGrad est un programme robuste de 18 mois destiné à ceux qui souhaitent apprendre et se perfectionner avec les technologies avancées d'apprentissage automatique et de cloud.
Faits saillants du programme :
- Reconnaissance prestigieuse de l'Université John Moores de Liverpool et de l'IIT Madras
- Plus de 650 heures de contenu avec plus de 25 études de cas et projets, plus de 20 sessions en direct et plus de 8 missions de codage
- Couverture complète de 7 outils et langages de programmation (y compris TensorFlow)
- Assistance professionnelle à 360 degrés, sessions de mentorat et opportunités de réseautage entre pairs
Conclusion
L'apprentissage automatique et l'intelligence artificielle continuent d'évoluer. Ce qui était autrefois le thème des films de science-fiction est maintenant une réalité. Des recommandations de films Netflix et des assistants virtuels aux voitures autonomes et à la découverte de médicaments, l'apprentissage automatique a un impact sur toutes les dimensions de nos vies. De plus, avec des outils comme TensorFlow, les innovations en matière d'apprentissage automatique ont atteint de nouveaux sommets. La bibliothèque open source est sans aucun doute une aubaine pour les développeurs et les professionnels en herbe innovants dans les technologies basées sur l'apprentissage automatique.
Alors qu'est-ce que tu attends? Commencez à apprendre avec upGrad dès aujourd'hui !
TensorFlow Python est une plate-forme open source qui permet aux développeurs de créer des réseaux de neurones à grande échelle. Certains des principaux cas d'utilisation de TensorFlow incluent des applications textuelles (telles que la détection de fraude), la reconnaissance vocale, la reconnaissance d'images, la détection vidéo et l'analyse de données de séries chronologiques. TensorFlow permet aux API frontales d'être implémentées à l'aide de divers langages tels que Python, R, C et C++. Cependant, le runtime dans TensorFlow est écrit à l'aide du langage C++. Étant donné que TensorFlow est une bibliothèque open source pour l'apprentissage automatique, il y a quatre domaines principaux qu'il faut maîtriser. Bien que les compétences en codage soient indispensables, les autres éléments essentiels de l'enseignement de l'apprentissage automatique sont les mathématiques et les statistiques, la théorie de l'apprentissage automatique et une expérience pratique dans la création de projets d'apprentissage automatique à partir de rien.À quoi sert TensorFlow ?
TensorFlow est-il écrit en Python ou en C++ ?
TensorFlow a-t-il besoin de codage ?