Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow TF 1.0.0中的命名变量初始化_Tensorflow - Fatal编程技术网

Tensorflow TF 1.0.0中的命名变量初始化

Tensorflow TF 1.0.0中的命名变量初始化,tensorflow,Tensorflow,我在以下情况下使用tf.variables\u初始值设定项时遇到问题: counter = tf.Variable(0, name='counter') #1 counter = tf.assign_add(counter, 1) with tf.Session() as sess: sess.run(tf.variables_initializer([counter])) #2 sess.run(tf.global_variables_initializer()) pr

我在以下情况下使用
tf.variables\u初始值设定项时遇到问题:

counter = tf.Variable(0, name='counter')
#1 counter = tf.assign_add(counter, 1)
with tf.Session() as sess:
    sess.run(tf.variables_initializer([counter]))
    #2 sess.run(tf.global_variables_initializer())
    print(sess.run(counter))
    print(sess.run(counter))
按原样,此代码段运行,但当然
计数器
不计算在内。如果标记为
#1
的行未注释,则出现以下错误:

AttributeError:“Tensor”对象没有属性“initializer”

如果标记为
#2
的行未注释,并且带有
tf.variables\u初始值设定项的行已注释,则例程将正常运行(并计数)。但是我不能在我的实际代码中使用
tf.global\u variables\u initializer
,因为我正在从检查点文件中恢复许多变量


在这种情况下,初始化
计数器的正确方法是什么?

问题是行
计数器=tf.assign\u add(counter,1)
覆盖了
计数器变量。下面的问题解决了吗

    counter = tf.Variable(0, name='counter', trainable=False)
    increment_counter = tf.assign_add(counter, 1)
    with tf.Session() as sess:
        sess.run(tf.variables_initializer([counter]))
        print('Orig counter state:')
        print(sess.run(counter))
        _ = sess.run(increment_counter)
        _ = sess.run(increment_counter)
        print('Final counter state:')
        print(sess.run(counter))

就这样。谢谢虽然我仍然不明白为什么
tf.global\u variables\u initializer
使用原始代码,而
tf\u variables\u initializer
没有。