【发布时间】:2018-01-06 19:49:02
【问题描述】:
我对 TensorFlow 很陌生,我试图理解占位符的概念。 假设我有一个形状为 100x4 的特征集。所以我有 100 行 4 个不同的特征。然后目标是 100x1 的形状。如果我想将两个矩阵都用作训练集。我要做的是:
X = tf.placeholder(tf.float64, shape=X_train.shape)
Y = tf.placeholder(tf.float64, shape=y_train.shape)
W = tf.Variable(tf.random_normal([4, 1]), name="weight",dtype=tf.float32)
b = tf.Variable(rng.randn(), name="bias",dtype=tf.float32)
pred = tf.add(tf.multiply(X, W), b)
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
init = tf.global_variables_initializer()
with tf.Session() as sess:
# Run the initializer
sess.run(init)
# Fit all training data
for epoch in range(training_epochs):
for (x, y) in zip(X_train, y_train):
sess.run(optimizer, feed_dict={X: x, Y: y})
... # some plotting and printing of results
然后导致“ValueError:无法为具有形状'(..., ...)'的张量'Placeholder:0'提供形状(...,)的值”。更具体地说,成本函数中“sub”的维度不相等。
有人能解释一下如何进行吗?为什么? 提前致谢
【问题讨论】:
标签: python tensorflow