我正在尝试学习张量流。我真的对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])`
答案 0 :(得分:0)
在tensorflow
中,使用tf.Variable()
创建的任何内容都将在反向传播训练期间得到更新,例如权重矩阵。
理想情况下,默认情况下,除非明确指定tf.Variable()
,否则每个non-trainable
都是可训练的。
如果您执行此initial = tf.truncated_normal([5,10], mean=0, stddev=0.1)
,那么张量流将不会知道它是一个可训练的变量,因此将不会被训练。在整个训练过程中,它将保持不变。