class tf.Variable
一个变量通过调用run() 方法维持图的状态。你通过构造variable 类的实例来添加一个变量到图中。
Variable() 构造器需要一个初始值,可以是任意类型和shape 的Tensor。初始值定义了变量的type和shape。构造完成之后,变量的type和shape 是固定的。可以使用assign 方法来修改变量的值。
如果你想修改变量的shape,你必须使用assign 操作,并且 validate_shpe=False
就像任何Tensor,通过Variable() 创建的variable,可以用作图中其他操作节点的输入。另外,所有操作承载的Tensor 类传递给variables. 所以你可以仅仅通过对变量执行算术来对图中添加节点。
当构造一个机器学习模型时,区分保存训练模型参数的变量和其他变量例如一个 用于计算训练步数的global step 变量是非常方便的。为使实现这个容易,变量构造器支持trainable=<bool> 参数。如果Ture ,新变量添加到图集合GraphKeys.TRAINABLE_VARIABLES。一个遍历的函数 trainable_variables() 返回这个集合中的内容。各种优化器类使用这个集合作为默认的变量列表去优化。
tf.Variable.__init__(initial_value=None, trainable=True, collections=None, validate_shape=True, caching_device=None, name=None, variable_def=None, dtype=None)
使用初始值创建一个新的变量
新变量添加到collections 列出的图集合中,默认添加到 [GraphKeys.VARIABLES]
如果 trainable 是True,变量也添加到图集合 GraphKeys.TRAINABLE_VARIABLES.
这个构造器创建了两个操作节点,一个变量操作和一个赋值操作,用于将初始值赋给变量。
- initial_value: 一个Tensor,或者可以转化为Tensor的Python对象,这是变量的初始值。初始值必须指定shape除非validate_shape 被设置为False。
- trainable: 如果是True,变量也默认添加到GraphKeys.TRAINABLE_VARIABLES。这是很多优化器类使用的默认变量列表。
本文深入讲解了TensorFlow中变量的创建、使用及管理方法。涵盖了Variable构造器的参数及其作用,如何利用变量进行运算,以及如何修改变量的值等内容。
2750

被折叠的 条评论
为什么被折叠?



