前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tensorflow: variable初始化

tensorflow: variable初始化

作者头像
JNingWei
发布2018-09-28 17:10:39
1.2K0
发布2018-09-28 17:10:39
举报
文章被收录于专栏:JNing的专栏JNing的专栏

全部变量初始化

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

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

代码语言:javascript
复制
tf.Session.run(tf.global_variables_initializer())

等同于:

代码语言:javascript
复制
with tf.Session() as sess:
    init = tf.global_variables_initializer()
    sess.run(init)

等同于:

代码语言:javascript
复制
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()

代码语言:javascript
复制
# 要初始化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.: 识别 未被初始化的变量 的小技巧:

代码语言:javascript
复制
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!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全部变量初始化
  • 仅指定部分变量初始化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档