Vous êtes sur la page 1sur 7

TENSORFLOW

Encadré par :
 Mr. Abdessamad EL RHARRAS

Réalisé par :
 Dinar Farid
INTRODUCTION

TensorFlow est un outil open source du Machine Learning développé par Google. Autrement,
TensorFlow est un ‘Framework’* de calcul permettant de créer des modèles du ‘Machine Learning’.
Il a bouleversé le monde du ‘Machine Learning’ en intégrant de nombreuses fonctionnalités qui
facilitent la création de modèles et leur déploiement en production. Ainsi TensorFlow est l'un des
outils les plus utilisés en intelligence artificielle dans le domaine du Machine Learning.

D’abord, qu’est-ce que signifie le mot « Tensorflow » ?

Les deux composantes principales de TensorFlow sont : les Opérations et les Tensors.
L’idée est de créer un modèle, un ensemble d’Opérations, puis d’alimenter ce modèle avec les
données ou Tensors. Ces Tensors vont couler dans le modèle comme un flux (Flow): d’où le nom
TensorFlow.

*Un Framework (appelé aussi infrastructure logicielle) désigne un ensemble cohérent de composants
logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une
partie d'un logiciel.

THEORIE & MANIPULATION

1. Installation du TensorFlow

Maintenant pour installer TensorFlow, vous tapez tout simplement la commande sur l’invite de
commandes:

pip install tensorflow

Et attendez l’installation qu’elle soit complète et voilà, Vous pouvez maintenant écrire vos code en
utilisant Tensorflow!
2. Les différentes types de Tensors

– Un Tensor peut être vu comme un tableau de données (array) multidimensionnel


à taille dynamique. Pour en créer un avec une valeur que l’on souhaite garder
fixe, on utilise tf.constant()
– Par contre, si on souhaite pouvoir modifier la valeur d’un Tensor, on le définit
avec tf.Variable(). Les Variables au sens de TensorFlow sont utiles quand on
souhaite maintenir l’état d’une variable durant une première exécution puis le
modifier pour de prochaines exécutions.
– tf.placeholder() permet de définir un placeholder. C’est simplement une Variable
dont la valeur sera spécifiée plus tard lors du run d’un calcul. Le but de ces
“espaces réservés” est de pouvoir définir une série d’opérations plus ou moins
complexes. Puis d’alimenter ces placeholders plus tard lors du lancement de la
Session grâce au “feed dictionary” nommé feed_dict.

>>> Il est important de noter la possibilité de transformer les données existantes sous Python
(NumPy, Pandas, … ) en tenseur par la méthode tf.convert_to_tensor !

Quelques exemples de structures de tensors

 Les Operations
En tant que bibliothèque de calculs numériques au même titre que Numpy, on peut effectuer
plusieurs calculs sur TensorFlow comme le montrent les quelques exemples ci-dessous :

import tensorflow as tf
a=tf.constant([3,6])
b=tf.constant([2,2])
tf.add(a,b)
tf.add_n([a,b,b]) # a + b + b
tf.multiply(a,b) # a*b
Le tableau ci-dessous donne une idée non exhaustive, par groupe, des opérations possibles via
TensorFlow.

Groupe d’opérations sur les tenseurs

 Les Sessions
Définissons et affichons une chaîne de caractères hello via TensorFlow.

hello = tf.constant('Bienvenue dans Tensorflow')


print(hello)
hello

Output :
>>> Tensor("Const_2:0", shape=(), dtype=string)

Comme vous pouvez voir, le tenseur constant hello n’a pas été exécuté !!!

Pour exécuter une opération, il est primordial d’ouvrir une Session grâce à la méthode Session.run().
Ce système d’exécution permet d’éviter de retourner dans du pur Python à chaque étape et
d’exécuter toutes les opérations d’un graphe en une seule fois dans un même backend optimisé.

with tf.Session() as sess:


print(sess.run(hello))

Output:

>>> Bienvenue dans Tensorflow

Maintenant que nous avons vu quelques bases en Tensorflow nous allons coder quelques
opérations usuelles :
 Addition & Soustraction:

Import tensorflow as tf
a1 = tf.constant([1, 2, 3])
a2 = tf.constant([3, 4, 5])
a3 = a1 + a2 # (tf.add(a1, a2))
with tf.Session() as session:
session.run(a3)

# Resultat
[4, 6, 8]
a4 = a1 - a2
with tf.Session() as session:
session.run(a4)

# Resultat
[-2, -2, -2]

 Multiplication & Division

importtensorflow as tf
a1 = tf.constant([1, 2, 3])
a2 = tf.constant([3, 4, 5])
a3 = a1 * a2 # (tf.mul(a1, a2))
with tf.Session() as session:
session.run(a3)

# Resultat
[3, 8, 15]

a4 = a1/a2
with tf.Session() as session:
session.run(a4)

# Resultat
[0.34, 0.5, 0.6]
 Redimensiennement

import tensorflow as tf
a1 = tf.constant([3, 5, 7],[4, 6, 8])# dim. sont(2, 3)
a2 = tf.reshape(a1, [3, 2])
with tf.Session() as sess:
sess.run(a2)
print(a2)

# Resultat
[[3, 5],[7, 4],[6, 8]] ])# dim. deviennent(3, 2)
CONCLUSION
TensorFlow est principalement utilisé comme infrastructure backend dont les modules sont
appelés via l’API Keras (pour plus de détails veuillez consulter le rapport de Samuel sur Keras). En
règle générale, TensorFlow est utilisé pour résoudre des problèmes complexes tels que la
classification d'images, la reconnaissance d'objets, la reconnaissance de sons, etc…

 https://blog.zenika.com/2017/11/14/tensorflow-le-nouveau-framework-pour-democratiser-
le-deep-learning-13/
 wikipidea

Quelques ressources pour en savoir plus sur TensorFlow:

 TensorFlow documentation.

Vous aimerez peut-être aussi