TensorFlow - Nozioni di base
In questo capitolo impareremo le basi di TensorFlow. Inizieremo comprendendo la struttura dei dati del tensore.
Struttura dei dati tensoriali
I tensori vengono utilizzati come strutture dati di base nel linguaggio TensorFlow. I tensori rappresentano i bordi di connessione in qualsiasi diagramma di flusso chiamato grafico del flusso di dati. I tensori sono definiti come array o liste multidimensionali.
I tensori sono identificati dai seguenti tre parametri:
Rango
L'unità di dimensionalità descritta all'interno del tensore è chiamata rango. Identifica il numero di dimensioni del tensore. Un rango di un tensore può essere descritto come l'ordine o le n dimensioni di un tensore definito.
Forma
Il numero di righe e colonne insieme definisce la forma del tensore.
genere
Tipo descrive il tipo di dati assegnato agli elementi di Tensor.
Un utente deve considerare le seguenti attività per costruire un tensore:
- Costruisci un array n-dimensionale
- Converti la matrice n-dimensionale.
Varie dimensioni di TensorFlow
TensorFlow include varie dimensioni. Le dimensioni sono descritte brevemente di seguito:
Tensore unidimensionale
Un tensore dimensionale è una normale struttura a matrice che include un insieme di valori dello stesso tipo di dati.
Declaration
>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d
L'implementazione con l'output è mostrata nello screenshot qui sotto:
L'indicizzazione degli elementi è la stessa degli elenchi di Python. Il primo elemento inizia con indice di 0; per stampare i valori attraverso l'indice, tutto ciò che devi fare è menzionare il numero dell'indice.
>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0
Tensori bidimensionali
Le sequenze di array vengono utilizzate per creare "tensori bidimensionali".
La creazione di tensori bidimensionali è descritta di seguito:
Di seguito è riportata la sintassi completa per la creazione di array bidimensionali:
>>> 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]]
>>>
Gli elementi specifici dei tensori bidimensionali possono essere tracciati con l'aiuto del numero di riga e del numero di colonna specificato come numeri di indice.
>>> tensor_2d[3][2]
14
Manipolazione e manipolazione dei tensori
In questa sezione, impareremo a gestire e manipolare i tensori.
Per cominciare, consideriamo il seguente codice:
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
Il codice sopra genererà il seguente output:
Spiegazione
Abbiamo creato array multidimensionali nel codice sorgente sopra. Ora, è importante capire che abbiamo creato grafico e sessioni, che gestiscono i tensori e generano l'output appropriato. Con l'aiuto del grafico, abbiamo l'output che specifica i calcoli matematici tra i tensori.