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.