TensorFlow变量

    一个TensorFlow变量是表示由程序操作的共享持久状态的最佳方法。

    变量通过tf $变量类。一个tf $变量表示一个张量,它的值可以通过对其运行操作来改变。特定的操作允许你读取和修改这个张量的值。像Keras这样的高级库使用tf $变量存储模型参数。本指南涵盖了如何创建、更新和管理tf $变量在TensorFlow中。

    创建一个变量

    要创建变量,只需提供初始值

    这就创建了一个变量,它是一个具有形状的三维张量[1,2,3]全是0。默认情况下,此变量将具有dtypetf float32美元.如果未指定dtype,则从初始值推断。

    如果有一个tf美元的设备作用域激活,变量将被放置在该设备上;否则变量将被放置在与其dtype兼容的“最快”设备上(这意味着如果GPU可用,大多数变量将自动放置在GPU上)。例如,下面的代码片段创建了一个名为v并将其放在第二个GPU设备上:

    (特遣部队设备“/设备:GPU: 1”), {v < -特遣部队变量(特遣部队0c1010)))})

    理想情况下,你应该使用tf发行美元API,因为它允许您编写一次代码,并使其在许多不同的分布式设置下工作。

    使用变量

    要使用a的值tf $变量在一个TensorFlow图中,简单地把它当作一个正常的tf美元张量

    若要为变量赋值,请使用方法分配assign_add,和朋友在一起tf $变量类。例如,下面是如何调用这些方法:

    # # <特遣部队。变量'UnreadVariable' shape=() dtype=float32, numpy=1.0>

    大多数TensorFlow优化器都有专门的操作,可以根据一些类似梯度下降的算法有效地更新变量的值。看到tf keras优化优化器美元美元以了解如何使用优化器。

    还可以显式读取变量的当前值read_value

    # # <特遣部队。变量'UnreadVariable' shape=() dtype=float32, numpy=1.0>
    ## tf.Tensor(1.0, shape=(), dtype=float32)

    当最后引用到tf $变量超出作用域时释放内存。