gpt4 book ai didi

python - tf.global_variable_initializer() 关于 session ?

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:27 25 4
gpt4 key购买 nike

即使阅读了 official documentation,我对 Tensorflow 中 session 的理解似乎仍然存在缺陷和 this教程。

特别是,tf.global_variable_initializer() 是针对特定 session 还是针对程序中的所有 session 初始化全局变量?有没有办法在 session 期间“取消初始化”变量?

tf.variable 可以在多个 session 中使用吗?答案似乎是肯定的(例如下面的代码),但是是否存在我们希望在一个程序中使用多个 session 而不是单个 session 的好案例?

#!/usr/bin/env python
import tensorflow as tf

def main():
x = tf.constant(0.)
with tf.Session() as sess:
print(sess.run(x))
with tf.Session() as sess:
print(sess.run(x))

if __name__ == '__main__':
main()

最佳答案

特别是,tf.global_variable_initializer() 是针对特定 session 还是针对程序中的所有 session 初始化全局变量?

关于特定 session 。检查一下。

tf.reset_default_graph()
x = tf.Variable(tf.random.normal([1,5]))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
first_sess_out = sess.run(x)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
second_sess_out = sess.run(x)

np.testing.assert_array_equal(first_sess_out, second_sess_out)

断言失败所以它是每个 session 。


是否有办法在 session 期间“取消初始化”变量?

tf.reset_default_graph()
x = tf.Variable(tf.random.normal([1,5]))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
first_init_out = sess.run(x)
sess.run(tf.global_variables_initializer())
second_init_out = sess.run(x)

np.testing.assert_array_equal(first_init_out, second_init_out)

显然,在运行 tf.global_variables_initializer() 之后,变量重新初始化了。因此,断言失败。


tf.Variable 可以在多个 session 中使用吗?答案似乎是肯定的(例如下面的代码),但是否存在我们希望在一个程序中使用多个 session 而不是单个 session 的好案例?

是的,它可以像您在上面的示例中看到的那样使用。好的情况是您希望在单次运行中多次执行图形。

关于python - tf.global_variable_initializer() 关于 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57438371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com