TensorFlow - Grundlagen
In diesem Kapitel lernen wir die Grundlagen von TensorFlow kennen. Wir beginnen mit dem Verständnis der Datenstruktur des Tensors.
Tensordatenstruktur
Tensoren werden als grundlegende Datenstrukturen in der TensorFlow-Sprache verwendet. Tensoren repräsentieren die Verbindungskanten in jedem Flussdiagramm, das als Datenflussdiagramm bezeichnet wird. Tensoren werden als mehrdimensionales Array oder Liste definiert.
Tensoren werden durch die folgenden drei Parameter identifiziert:
Rang
Die im Tensor beschriebene Maßeinheit wird als Rang bezeichnet. Es gibt die Anzahl der Dimensionen des Tensors an. Ein Rang eines Tensors kann als die Reihenfolge oder n-Dimensionen eines definierten Tensors beschrieben werden.
Gestalten
Die Anzahl der Zeilen und Spalten zusammen definiert die Form des Tensors.
Art
Typ beschreibt den Datentyp, der den Tensor-Elementen zugewiesen ist.
Ein Benutzer muss die folgenden Aktivitäten zum Erstellen eines Tensors berücksichtigen:
- Erstellen Sie ein n-dimensionales Array
- Konvertieren Sie das n-dimensionale Array.
Verschiedene Abmessungen von TensorFlow
TensorFlow enthält verschiedene Dimensionen. Die Abmessungen werden im Folgenden kurz beschrieben -
Eindimensionaler Tensor
Ein eindimensionaler Tensor ist eine normale Array-Struktur, die einen Satz von Werten desselben Datentyps enthält.
Declaration
>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d
Die Implementierung mit der Ausgabe ist im folgenden Screenshot dargestellt -
Die Indizierung von Elementen entspricht Python-Listen. Das erste Element beginnt mit dem Index 0; Um die Werte über den Index zu drucken, müssen Sie lediglich die Indexnummer angeben.
>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0
Zweidimensionale Tensoren
Die Sequenz von Arrays wird zum Erzeugen von "zweidimensionalen Tensoren" verwendet.
Die Erzeugung zweidimensionaler Tensoren wird nachfolgend beschrieben -
Im Folgenden finden Sie die vollständige Syntax zum Erstellen zweidimensionaler Arrays:
>>> 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]]
>>>
Die spezifischen Elemente zweidimensionaler Tensoren können mit Hilfe der als Indexnummern angegebenen Zeilennummer und Spaltennummer verfolgt werden.
>>> tensor_2d[3][2]
14
Tensorhandhabung und Manipulationen
In diesem Abschnitt erfahren Sie mehr über die Handhabung und Manipulation von Tensoren.
Betrachten wir zunächst den folgenden Code:
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
Der obige Code generiert die folgende Ausgabe:
Erläuterung
Wir haben im obigen Quellcode mehrdimensionale Arrays erstellt. Jetzt ist es wichtig zu verstehen, dass wir Diagramme und Sitzungen erstellt haben, die die Tensoren verwalten und die entsprechende Ausgabe generieren. Mit Hilfe des Graphen haben wir die Ausgabe, die die mathematischen Berechnungen zwischen Tensoren spezifiziert.