2016-11-01 2 views
0

ich einen einfachen Code mit dem tensorflow Toolkit wie folgt schreiben:Wertefehler auf tensorflow

import tensorflow as tf 
import numpy as np 
if __name__=="__main__": 
    inp = np.random.randint(1,3,(1,20,300,1)) 
    inputs = tf.convert_to_tensor(inp,dtype=tf.float32) 
    with tf.variable_scope('convpool1') as scope: 
     kernel = tf.get_variable('weights',[1,300,1,1],initializer=tf.truncated_normal_initializer(stddev=5e-2,dtype=tf.float32)) 
     conv1 = tf.nn.conv2d(inputs,kernel,[1,1,1,1],padding='VALID') 

    init = tf.initialize_all_variables() 
    with tf.Session() as sess: 
     sess.run(init) 
     with tf.variable_scope('convpool1'): 
      k_ = sess.run(kernel) 
      c1_ =sess.run(conv1) 

Es funktioniert, wenn ich diesen Code erstes Mal ausführen, aber wenn ich das gleiche wieder laufe, wirft es einen Fehler:

Und ich starte die IDE (Spyder) neu, führe diesen Code, es funktioniert wieder.Was könnte der Ursprung dieses Fehlers sein und wie kann ich es lösen? Vielen Dank für Ihre Zeit!

+0

Jedes Mal, wenn Sie dieses Snippet ausführen, hängt es an das Standarddiagramm an. Sie können 'tf.reset_default_graph()' neu starten –

Antwort

0

Mit

tf.reset_default_graph() 

am Anfang sollte Ihr Problem lösen. Ich bin nicht 100% sicher, aber verdächtige Spyder haben immer noch das Graph-Objekt (und damit ist der var-Bereich bereits erstellt).

+0

Ihre Antwort passt gut zu meinem Fall, vielen Dank! – LilHope

+0

Froh zu helfen, denken Sie daran, die Antwort zu akzeptieren, wenn Sie das Problem gelöst haben. =) –