Poiché i calcoli Tensor compongono dei grafici , è meglio interpretarli in termini di grafici.
Prendiamo ad esempio la semplice regressione lineare
WX+B=Y
dove W
e B
rappresentano i pesi e la distorsione e X
gli input Y
delle osservazioni e i risultati delle osservazioni.
Ovviamente X
e Y
sono della stessa natura (variabili manifest) che differiscono da quelle di W
e B
(variabili latenti). X
e Y
sono valori dei campioni (osservazioni) e quindi necessitano di un posto da riempire , mentre W
e B
sono i pesi e la distorsione, le variabili (i valori precedenti influiscono su quest'ultimo) nel grafico che dovrebbero essere allenati usando differenti X
e Y
coppie. Mettiamo diversi campioni ai segnaposto per addestrare le variabili .
Abbiamo solo bisogno di salvare o ripristinare le variabili (ai punti di controllo) per salvare o ricostruire il grafico con il codice.
I segnaposto sono principalmente titolari di diversi set di dati (ad esempio dati di formazione o dati di test). Tuttavia, le variabili sono addestrate nel processo di formazione per le attività specifiche, vale a dire, per prevedere il risultato dell'input o mappare gli input alle etichette desiderate. Rimangono gli stessi fino a quando non si riqualifica o si perfeziona il modello utilizzando campioni diversi o uguali per riempire i segnaposto spesso attraverso il dict. Per esempio:
session.run(a_graph, dict = {a_placeholder_name : sample_values})
I segnaposto vengono inoltre passati come parametri per impostare i modelli.
Se si cambiano segnaposto (aggiungi, elimina, modifica la forma, ecc.) Di un modello durante l'allenamento, è comunque possibile ricaricare il checkpoint senza altre modifiche. Ma se le variabili di un modello salvato vengono modificate, è necessario regolare il checkpoint di conseguenza per ricaricarlo e continuare l'addestramento (tutte le variabili definite nel grafico dovrebbero essere disponibili nel checkpoint).
Per riassumere, se i valori provengono dai campioni (osservazioni che hai già), fai in modo sicuro un segnaposto per tenerli, mentre se hai bisogno di un parametro da addestrare imbriglia una variabile (in poche parole, imposta le variabili per i valori che desideri per utilizzare automaticamente TF).
In alcuni modelli interessanti, come un modello di trasferimento di stile , i pixel di input verranno ottimizzati e le variabili del modello normalmente definite verranno fissate, quindi dovremmo rendere l'input (di solito inizializzato in modo casuale) come variabile implementata in quel collegamento.
Per ulteriori informazioni si prega di dedurre questo doc semplice e illustrativo .
Variable
s, ma non aplaceholder
s (i cui valori devono sempre essere forniti).