TensorFlow - Notions de base

Dans ce chapitre, nous allons découvrir les bases de TensorFlow. Nous commencerons par comprendre la structure de données du tenseur.

Structure des données Tensor

Les tenseurs sont utilisés comme structures de données de base dans le langage TensorFlow. Les tenseurs représentent les arêtes de connexion dans tout organigramme appelé graphique de flux de données. Les tenseurs sont définis comme un tableau ou une liste multidimensionnelle.

Les tenseurs sont identifiés par les trois paramètres suivants -

Rang

L'unité de dimensionnalité décrite dans le tenseur est appelée rang. Il identifie le nombre de dimensions du tenseur. Un rang d'un tenseur peut être décrit comme l'ordre ou les n-dimensions d'un tenseur défini.

Forme

Le nombre de lignes et de colonnes définit ensemble la forme de Tensor.

Type

Type décrit le type de données affecté aux éléments de Tensor.

Un utilisateur doit prendre en compte les activités suivantes pour créer un Tensor -

  • Construire un tableau à n dimensions
  • Convertissez le tableau à n dimensions.

Différentes dimensions de TensorFlow

TensorFlow comprend différentes dimensions. Les dimensions sont décrites brièvement ci-dessous -

Tenseur unidimensionnel

Un tenseur dimensionnel est une structure de tableau normale qui comprend un ensemble de valeurs du même type de données.

Declaration

>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d

L'implémentation avec la sortie est montrée dans la capture d'écran ci-dessous -

L'indexation des éléments est identique à celle des listes Python. Le premier élément commence par un index de 0; pour imprimer les valeurs via l'index, il vous suffit de mentionner le numéro d'index.

>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0

Tenseurs bidimensionnels

Des séquences de tableaux sont utilisées pour créer des «tenseurs bidimensionnels».

La création de tenseurs bidimensionnels est décrite ci-dessous -

Voici la syntaxe complète pour créer des tableaux à deux dimensions -

>>> import numpy as np
>>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)])
>>> print(tensor_2d)
[[ 1 2 3 4]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
>>>

Les éléments spécifiques des tenseurs bidimensionnels peuvent être suivis à l'aide du numéro de ligne et du numéro de colonne spécifiés sous forme de numéros d'index.

>>> tensor_2d[3][2]
14

Manipulation et manipulations des tenseurs

Dans cette section, nous en apprendrons davantage sur la gestion et les manipulations de Tensor.

Pour commencer, considérons le code suivant -

import tensorflow as tf
import numpy as np

matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32')
matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32')

print (matrix1)
print (matrix2)

matrix1 = tf.constant(matrix1)
matrix2 = tf.constant(matrix2)
matrix_product = tf.matmul(matrix1, matrix2)
matrix_sum = tf.add(matrix1,matrix2)
matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32')
print (matrix_3)

matrix_det = tf.matrix_determinant(matrix_3)
with tf.Session() as sess:
   result1 = sess.run(matrix_product)
   result2 = sess.run(matrix_sum)
   result3 = sess.run(matrix_det)

print (result1)
print (result2)
print (result3)

Output

Le code ci-dessus générera la sortie suivante -

Explication

Nous avons créé des tableaux multidimensionnels dans le code source ci-dessus. Maintenant, il est important de comprendre que nous avons créé un graphique et des sessions, qui gèrent les Tensors et génèrent la sortie appropriée. Avec l'aide du graphique, nous avons la sortie spécifiant les calculs mathématiques entre Tensors.