tensorflow中的tf.initialize_local_variables/tf.global_variables_initializer/initialize_all_variables

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_29957455/article/details/83118952

使用TensorFlow的时候定义了变量之后还需要初始化之后才能使用,不然会报错:Attempting to use uninitialized value,下面介绍TensorFlow中常用的几种初始化操作

1、tf.global_variable_initializer

官方介绍地址:https://tensorflow.google.cn/api_docs/python/tf/initializers/global_variables

用来初始化计算图中的全局的变量,全局变量是指创建的变量在tf.GraphKeys.GLOBAL_VARIABLES中,在使用Variable创建变量时默认是collections默认是tf.GraphKeys.GLOBAL_VARIABLES

if __name__ == "__main__":
    v = tf.Variable(1)
    c = tf.constant(2)
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        print(sess.run(v))
        print(sess.run(c))

2、tf.initialize_all_variables

2017年3月2日之后使用global_variables_initializer()来代替tf.initialize_all_variables()

3、tf.initialize_local_variables

初始化计算图中所有的局部变量,局部变量是指创建的变量在tf.GraphKeys.LOCAL_VARIABLES中,在使用saver的时候,局部变量是不存在在模型文件中的

if __name__ == "__main__":
    a = tf.Variable(1,name="a",collections=[tf.GraphKeys.LOCAL_VARIABLES])
    with tf.Session() as sess:
        sess.run(tf.local_variables_initializer())
        print(sess.run(a))

注意:在使用局部变量时必须使用tf.local_variables_initializer初始化器,在使用全局变量时必须使用tf.global_variables_initializer初始化器,不然会报tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value

猜你喜欢

转载自blog.csdn.net/sinat_29957455/article/details/83118952
今日推荐