import tensorflow as tf tf.reset_default_graph() with tf.variable_scope("teste1",initializer=tf.constant_initializer(0.4)): var1=tf.get_variable("firstvar",shape=[2],dtype=tf.float32) with tf.variable_scope("test2"): var2=tf.get_variable("firstvar",shape=[2],dtype=tf.float32) var3=tf.get_variable("var3",shape=[2],initializer=tf.constant_initializer(0.3)) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print("var1",var1.eval()) print("var2",var2.eval()) print("var3",var3.eval())
以上tensorflow作用域的运行结果:
其中tf.reset_default_graph() 没有的情景下,程序只能运行一次,第二次报错。主要因为tensorflow是会查找是否在图中有定义过得
变量。进而无法再次定义,所以加上这句为了清空变量的定义,而且放在最上面比较合适。