TensorFlow™ su Databricks
I segnaposti
Finora abbiamo usato le Variabili
per gestire i dati, ma esiste una struttura più semplice, i segnaposto
. Un segnaposto
è semplicemente una variabile alla quale verranno assegnati i dati in un momento successivo. In questo modo è possibile creare le operazioni e costruire il grafo computazionale senza bisogno dei dati. Usando la terminologia di TensorFlow
, procediamo poi al feed dei dati nel grafo attraverso i segnaposti.
Questo esempio è leggermente diverso da quelli precedenti, analizziamolo nel dettaglio.
Come prima cosa, importiamo TensorFlow
come di consueto. Quindi creiamo un segnaposto
chiamato x
, cioè una locazione nella memoria in cui andremo successivamente a memorizzare un valore.
Creiamo poi un Tensor chiamato, ottenuto moltiplicando x
per 2. Da notare che non abbiamo ancora definito alcun valore iniziale per x
.
A questo punto abbiamo un'operazione (y
) definita e la possiamo eseguire in una sessione. Creiamo un oggetto di sessione e poi eseguiamo solamente la variabile y
. Questo significa che, se abbiamo definito un grafo di operazioni molto più grande, possiamo eseguire solo una piccola porzione del grafo stesso. Questo sottografo è uno dei punti di forza di TensorFlow perché in molte libre che svolgono compiti simili non è disponibile.
Per eseguire y
bisogna conoscere i valori di x
, che vengono definiti nell'argomento feed_dict
per essere eseguiti
. Qui dichiariamo che i valori di x
sono [1, 2, 3]
. Eseguiamo y
ottenendo come risultato [2, 4, 6]
.
I segnaposti non devono essere dimensionati staticamente. Aggiorniamo il programma affinché x possa avere qualsiasi lunghezza. Cambiamo la definizione di x
in: