天天看点

Tensorflow Error:Attempting to use uninitialized value Variable_1在通过tensorflow搭建深度学习网络时遇到的问题:Attempting to use uninitialized value Variable_1

原文地址:http://www.alannah.cn/2019/02/28/tensorflow-errorattempting-to-use-uninitialized-value-variable_1/

在通过tensorflow搭建深度学习网络时遇到的问题:Attempting to use uninitialized value Variable_1

该错误的产生是因为使用了未初始化的变量导致的,在训练网络前对变量进行初始化即可。

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
           

在某些情况下,添加上述代码段时仍然会报错,这是因为仍有部分所使用变量在函数内部所声明,上述代码进行初始化时不会对这部分变量进行初始化,通过tf.report_uninitialized_variables()函数查看网络中未进行初始化的变量。tf.initialize_all_variables()函数在最最新的tensorflow中已经弃用,系统建议使用tf.global_variables_initializer() ,但是通过尝试发现,该函数可对所有变量进行初始化,包括在函数内部声明的张量变量。

sess = tf.Session()
init = tf.initialize_all_variables() 
sess.run(init)
           

tf.initialize_all_variables()可对网络中所有变量进行初始化。

tensorflow变量初始化方式:

1、tf.global_variables_initializer() :初始化全局变量

2、tf.initialize_all_variables():初始化所有变量(已弃用,但仍然可以使用,可对所有变量进行初始化)

3、tf.initialize_variables():初始化指定变量如,tf.initialize_variables([var1,var2...])

查看未初始化的变量

print(sess.run(tf.report_uninitialized_variables()))    #check:未初始化的变量
           

继续阅读