2017-02-08 10 views
1

Immer wenn ich den Namen der Tensorflussvariablen verwende, habe ich eine Frage, warum sie mit blabla:0 endete. Also sollte ich die Split-Funktion wie v.name.split(':')[0] verwenden.tensorflow Namenskonvention?

Trotz der Variablen des gleichen Namens würde der Name des Schwanzes nicht geändert werden, wie meine Erwartung aaa:0, aaa:1.

Weiß jemand, warum Tensorflow dies tut?

Ich konnte diesen Grund auf Tensorflow.org oder über googling nicht finden.

+1

http://stackoverflow.com/questions/40925652/in-tensorflow-whats-the-meaning-of-0-in-a-variables-name/40936352#40936352 –

Antwort

3

Die säumige ganze Zahl ist im Tensor class hinzugefügt, und ist der "Wert index":

value_index: Ein int. Index des Endpunkts der Operation, der diesen Tensor erzeugt.

Es ist nicht immer Null! Zum Beispiel:

>>> import tensorflow as tf 
>>> tf.unique([1,2,3]) 

Drucke:

Unique(y=<tf.Tensor 'Unique:0' shape=(?,) dtype=int32>, idx=<tf.Tensor 'Unique:1' shape=(3,) dtype=int32>) 

So ist die erste Ausgabe hat die "0" Suffix, aber die zweite hat eine "1" Suffix, da es die zweite Ausgabe des op ist.