我從例如在學習TensorFlow:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/linear_regression.ipynbTensorFlow:功能reduce_sum輸入
我在下面的代碼有一個問題:
X = tf.placeholder("float")
Y = tf.placeholder("float")
# Set model weights
W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")
In [6]:
# Construct a linear model
pred = tf.add(tf.mul(X, W), b)
In [7]:
# Mean squared error
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
tf.reduce_sum的輸入是tf.pow(預解碼值-Y,2))這似乎是一個標量(或者我錯了嗎?)然後我想知道爲什麼我們想要在標量上做reduce_sum?我在這裏錯過了什麼?謝謝!
我再次閱讀代碼。如果佔位符X是一維數組。爲什麼不能pred = tf.add(tf.mul(X,W),b)是基於Numpy廣播規則的一維數組?我的意思是在mul和add操作上應用廣播規則?謝謝! – Edamame
如果'X'是一維數組,則'pred' *將是一維數組(如上面的日誌記錄情況)。然而,在'X'是標量的訓練案例中,由於'W'和'b'也是標量,'pred'將是一個標量(因爲適用於兩個標量的廣播規則是標量0。 – mrry