2017-09-15 57 views
0

快速的问题的一些代码:Tensorflow.Variables - 有点混乱

W = tf.Variable([.3], dtype=tf.float32) 
b = tf.Variable([-.3], dtype=tf.float32) 
x = tf.placeholder(tf.float32) 
linear_model = W * x + b 

在上面的代码,我定义两个变量和参数为我linear_model操作。什么是困惑我的是,当我去执行方法,我可以通过我的linear_model方法的参数之一是:

sess.run(linear_model, {x: [1, 2, 3, 4]}) 

这怎么可能?我只有一次占位符,那么数组是否考虑我的参数?这如何评估?

+0

我很困惑,你在问什么。为什么你认为最后一行代码应该是不可能的? – Aaron

回答

0

因为linear_model = W * x + b是有效的操作。如果将W的形状更改为(2,3),则会出现错误。

PS:W * x + b是一个标量多重向量,然后添加一个标量elemen-wise。

+0

你是指“一个标量多个向量然后添加一个标量元素明智的”是什么意思? –

+0

另外,为什么变量W和b的数组是.3和-.3? –

+0

x是矢量[1,2,3,4],w是0.3。所以W * x是[0.3,0.6,...],然后减去结果中的b(0.3)?我对你想做什么感到困惑。你自己写公式,你似乎不明白它们。 –