2017-12-22 2 views
0

Prüfung:TensorFlow ändert automatisch den Namen meines Variablenbereichs? folgenden Code

Code:

with tf.variable_scope('test'): # <1> 
    v1 = tf.placeholder(tf.float32, shape=(10,10), name='v1') # <2> 

with tf.variable_scope('test'): # <3> 
    v2 = tf.placeholder(tf.float32, shape=(5, 5), name='v2') 
print(v1) 
print(v2) 

In Code < 3>, ich möchte einen neuen Platzhalter v2 in den Geltungsbereich von Variablen 'test' genannt hinzufügen, die einen Platzhalter namens v1 existiert. Druckergebnis zeigt jedoch folgende

Tensor("test/v1:0", shape=(10, 10), dtype=float32) 

Tensor("test_1/v2:0", shape=(5, 5), dtype=float32) 

Ich weiß nicht, warum TF variable Bereichsname ‚test‘ in ‚test_1‘ ändern? Ist es ein Fehler?

EDIT:

finde ich, dass nicht nur placeholer seinen variable Bereichsnamen geändert werden, aber alle ops in tensorflow wie hinzufügen und matmul wird geändert. Aber das Hinzufügen von Variablen durch tf.get_variable() ist normal.

Antwort

Verwandte Themen