深度学习初始化作用域问题

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是会查找是否在图中有定义过得

变量。进而无法再次定义,所以加上这句为了清空变量的定义,而且放在最上面比较合适。

猜你喜欢

转载自blog.csdn.net/baidu_31481511/article/details/80674307