首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么多次运行tf.global_variables_initializer()不会改变结果?

多次运行tf.global_variables_initializer()不会改变结果的原因是因为该函数只是对变量进行初始化操作,并不会改变变量的值。在TensorFlow中,变量的初始化只需要执行一次即可,之后再次运行该函数并不会对变量的值产生影响。

tf.global_variables_initializer()是一个操作(Operation),它会初始化所有的全局变量。在TensorFlow的计算图中,变量是一种特殊的操作,它们具有可训练的状态,并且在计算图中保持其值。当我们创建一个变量时,它的初始值是未定义的,需要通过运行tf.global_variables_initializer()来为变量赋予初始值。

在TensorFlow的计算图中,每个操作都有一个唯一的名称,并且可以通过名称来引用。当我们多次运行tf.global_variables_initializer()时,实际上是在执行同一个初始化操作,而不是重新初始化变量。因此,无论运行多少次,变量的值都不会改变。

需要注意的是,如果在多次运行tf.global_variables_initializer()之间对变量进行了赋值操作,那么变量的值会发生改变。但是仅仅运行tf.global_variables_initializer()本身,并不会改变变量的值。

总结起来,多次运行tf.global_variables_initializer()不会改变结果是因为该函数只是对变量进行初始化操作,并不会改变变量的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • TensorFlow-实战Google深度学习框架 笔记(上)

    TensorFlow 是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。在 Tensorflow 中,所有不同的变量和运算都是储存在计算图,所以在我们构建完模型所需要的图之后,还需要打开一个会话(Session)来运行整个计算图 通常使用import tensorflow as tf来载入TensorFlow 在TensorFlow程序中,系统会自动维护一个默认的计算图,通过tf.get_default_graph函数可以获取当前默认的计算图。除了使用默认的计算图,可以使用tf.Graph函数来生成新的计算图,不同计算图上的张量和运算不会共享 在TensorFlow程序中,所有数据都通过张量的形式表示,张量可以简单的理解为多维数组,而张量在TensorFlow中的实现并不是直接采用数组的形式,它只是对TensorFlow中运算结果的引用。即在张量中没有真正保存数字,而是如何得到这些数字的计算过程 如果对变量进行赋值的时候不指定类型,TensorFlow会给出默认的类型,同时在进行运算的时候,不会进行自动类型转换 会话(session)拥有并管理TensorFlow程序运行时的所有资源,所有计算完成之后需要关闭会话来帮助系统回收资源,否则可能会出现资源泄漏问题 一个简单的计算过程:

    02
    领券