tensorflow: variable初始化

本文介绍了在TensorFlow中如何进行变量初始化,包括全局变量初始化tf.global_variables_initializer()的使用方法及注意事项,部分变量初始化tf.initialize_variables()的应用场景,以及如何识别未被初始化的变量。
部署运行你感兴趣的模型镜像

全部变量初始化

tf.global_variables_initializer() 将在其创建时查看全局图并自动将依赖关系添加到图中的每个 tf.initializer。

当我们在之后使用 sess.run(init) 对它求值时,它会告诉每个初始化程序执行变量初始化,并允许我们运行 sess.run(count_variable) 而不出错。

tf.Session.run(tf.global_variables_initializer())

等同于:

with tf.Session() as sess:
    init = tf.global_variables_initializer()
    sess.run(init)

等同于:

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

tf.global_variables_initializer() == tf.initialize_all_variables()

但是在 2017年3月2号以后, tf.initialize_all_variables() 该函数将不再使用。取而代之的是 tf.global_variables_initializer()

来自TensorFlow 文档的重要说明:

tf.initialize_all_variables(): THIS FUNCTION IS DEPRECATED. It will be removed after 2017-03-02. Instructions for updating: Use tf.global_variables_initializer instead.


仅指定部分变量初始化

使用 tf.initialize_variables()

# 要初始化v_6, v_7, v_8三个变量:
init_new_vars_op = tf.initialize_variables([v_6, v_7, v_8])
sess.run(init_new_vars_op)

N.B.: 识别 未被初始化的变量 的小技巧:

uninit_vars = []
# 用 try & except 语句块捕获:
for var in tf.all_variables():
    try:
        sess.run(var)
    except tf.errors.FailedPreconditionError:
        uninit_vars.append(var)

init_new_vars_op = tf.initialize_variables(uninit_vars)

[1] 令人困惑的TensorFlow!

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值