tf.Variable如何保持图形状态?

时间:2018-09-24 05:24:24

标签: tensorflow

我正在尝试学习张量流。我真的对tf.Variable的用法感到困惑。我知道在机器学习中我们必须将权重随机分配给过滤器。但这可以通过tf.truncated_normal函数完成。那么tf.Variable在这里的作用是什么?文档指出tf.Variable维护图的状态。这是什么意思?如果我省略tf.Variable结果是相同的。那么tf.Variable的作用是什么?有人可以帮我理解吗?

`def weight_variable(shape):
    initial = tf.truncated_normal(shape, mean=0, stddev=0.1)
    return tf.Variable(initial)
#function call
filter = weight_variable([1,2,2,1])`

1 个答案:

答案 0 :(得分:0)

tensorflow中,使用tf.Variable()创建的任何内容都将在反向传播训练期间得到更新,例如权重矩阵。

理想情况下,默认情况下,除非明确指定tf.Variable(),否则每个non-trainable都是可训练的。

如果您执行此initial = tf.truncated_normal([5,10], mean=0, stddev=0.1),那么张量流将不会知道它是一个可训练的变量,因此将不会被训练。在整个训练过程中,它将保持不变。