In numpy posso creare una copia della variabile con numpy.copy. C'è un metodo simile, che posso usare per creare una copia di un Tensore in TensorFlow?Come posso copiare una variabile in tensorflow
risposta
È possibile farlo in due modi.
- questo creerà una copia:
v2 = tf.Variable(v1)
- è anche possibile utilizzare identity op:
v2 = tf.identity(v1)
(che credo sia un modo corretto di farlo
Ecco un esempio di codice:.
import tensorflow as tf
v1 = tf.Variable([[1, 2], [3, 4]])
v_copy1 = tf.Variable(v1)
v_copy2 = tf.identity(v1)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
a, b = sess.run([v_copy1, v_copy2])
sess.close()
print a
print b
Entrambi sarebbero stampare gli stessi tensori.
Questo esegue una copia profonda
copied_variable = tf.Variable(source_variable.initialized_value())
Gestisce anche intialization correttamente, cioè
tf.intialize_all_variables()
sarà correttamente inizializzare prima source_variable e quindi copiare tale valore per copied_variable
ancora in attesa del tuo esempio: http://stackoverflow.com/a/33717784/1090562 –
hai chiesto come copiare un variabile nel titolo, ma come copiare un tensore nella domanda. Diamo un'occhiata alle diverse risposte possibili.
(1) che si desidera creare un tensore che ha lo stesso valore che viene attualmente memorizzato in una variabile di che chiameremo var
.
tensor = tf.identity(var)
Ma ricordate, 'tensore' è un nodo grafico che avrà quel valore quando valutato, e ogni volta che si calcola esso, sarà afferrare il valore di corrente di var
. Puoi giocare con control flow ops such as with_dependencies()
per vedere l'ordinamento degli aggiornamenti della variabile e la tempistica dell'identità.
(2) Si desidera creare un'altra variabile e impostarne il valore per il valore attualmente memorizzato in una variabile:
import tensorflow as tf
var = tf.Variable(0.9)
var2 = tf.Variable(0.0)
copy_first_variable = var2.assign(var)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
print sess.run(var2)
sess.run(copy_first_variable)
print sess.run(var2)
(3) Si vuole definire una variabile e impostarne il valore di partenza per lo stesso cosa che già inizializzata una variabile (questo è ciò che nivwu .. sopra rispose):
var2 = tf.Variable(var.initialized_value())
var2
otterrà inizializzato quando si chiama tf.initialize_all_variables
. Non puoi usarlo per copiare var dopo che hai già inizializzato il grafico e hai iniziato a eseguire le cose.
'with_dependencies()' cambiato, vedi: http://stackoverflow.com/questions/37980078/tensorflow-has-no-attribute- con dipendenze –
@dga riguardo al tuo punto (1), non sarebbe meglio semplicemente creare un tensore costante in qualche modo lungo le linee di tensor = tf.constant (var) tale che la copia non dipenda da var? – Alex
- 1. Come posso modificare la forma di una variabile in TensorFlow?
- 2. Come copiare una variabile ruby?
- 3. Come espandere una variabile di Tensorflow
- 4. Come ottengo il gradiente della perdita in una variabile TensorFlow?
- 5. Come posso copiare una stringa Python?
- 6. Come assegnare un valore a una variabile TensorFlow?
- 7. Come posso implementare una rete neurale ricorsiva in TensorFlow?
- 8. Tensorflow - Python: come posso utilizzare i miei dati con TensorFlow?
- 9. Come copiare i bit da una variabile a un'altra?
- 10. Ruby: come posso copiare questo array?
- 11. Come posso definire una variabile in XAML?
- 12. Come posso convertire una stringa in char [] senza copiare l'oggetto?
- 13. Come posso copiare una mappa in un'altra utilizzando std :: copy?
- 14. Come posso copiare ** kwargs in self?
- 15. Ruby: come posso copiare una variabile senza puntare allo stesso oggetto?
- 16. Come rilevare quale variabile è "non definita" in tensorflow
- 17. Come copiare una mappa?
- 18. Come posso impostare una variabile sass usando una variabile d'ambiente?
- 19. Come copiare la variabile javascript guardata in Chrome?
- 20. Come copiare una cartella in wix
- 21. Come posso avere una variabile temporanea in una funzione constexpr?
- 22. Come posso copiare una definizione di build TFS 2010?
- 23. Come posso visualizzare i pesi (variabili) in cnn in Tensorflow?
- 24. Come posso copiare una directory usando Boost Filesystem
- 25. Come posso aggiungere una variabile a console.log?
- 26. copiare una matrice 2d in Java
- 27. Come si inizializza una variabile con tf.get_variable e un valore numpy in TensorFlow?
- 28. Come copiare l'oggetto JavaScript nella nuova variabile NON come riferimento?
- 29. Come posso copiare un oggetto immutabile come tupla in Python?
- 30. Come posso risolvere 'esaurito la memoria gpu' in TensorFlow
Non è specificato se vogliamo una copia superficiale o profonda. Penso che sia più sicuro presumere che si tratti di una copia profonda. in tal caso tf.Variable (source_variable.initialized_value()) – siemanko
@nivwusquorum puoi mostrarmi l'esempio quando l'identità fallirà? –
deepq learning richiede ad esempio una copia profonda della rete q al posto della rete di destinazione. – siemanko