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是会查找是否在图中有定义过得
变量。进而无法再次定义,所以加上这句为了清空变量的定义,而且放在最上面比较合适。