TensorFlow中的变量(Variable)是什么?

TensorFlow中变量(Variable)是一种特殊的张量(Tensor)。

TensorFlow变量

TensorFlow变量(Variable)的主要作用是维护特定节点的状态,如深度学习或机器学习的模型参数。

tf.Variable 方法是操作(从源代码可以看出它本质上是一个操作,最终返回了一个变量。),返回值是变量(特殊张量)。

通过tf.Variable方法创建的变量,与张量一样,可以作为操作的输入和输出。不通之处在于:

  • 张量的生命周期通常随依赖的计算完成而结束,内存也随即释放。
  • 变量则常驻内存,在每一步训练时不断更新其值,以实现模型参数的更新。
1
2
3
4
5
6
7
8
9
10
11
12
import tensorflow as tf

# 创建变量
w = tf.Variable(<initial-value>, name=<optional-name>)

# 将变量作为操作的输入
y = tf.matmul(w, ...another variable or tensor...)
z = tf.sigmoid(w + y)

# 使用 assign 或 assign_xxx 方法重新给变量赋值
w.assign(w + 1.0)
w.assign_add(1.0)
加载评论框需要科学上网