首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tensorflow / Python添加9个随机数时遇到问题

使用tensorflow / Python添加9个随机数时遇到问题
EN

Stack Overflow用户
提问于 2017-03-02 00:39:47
回答 1查看 61关注 0票数 0

对不起,Tensorflow和Python中的Newbee,我实现这段代码是为了学习9个随机数的和。我得到一个错误,我不能understand.Unfortunately我不能在我们的教程中找到类似的问题在这里...

代码语言:javascript
复制
import tensorflow as tf
import numpy as np

n_samples = 100

x = tf.placeholder(tf.float32, shape=[n_samples, 9])
y = tf.placeholder(tf.float32, shape=[n_samples])

x_value = tf.placeholder(tf.float32, shape=[n_samples, 9])
y_value = tf.placeholder(tf.float32, shape=[n_samples])

W = tf.Variable(tf.zeros([9, 1]))
b = tf.Variable(0.0)

y = tf.matmul(x, W) + b
y_pred = tf.placeholder(tf.float32, shape=[n_samples])

cost = tf.reduce_sum((y - y_pred)**2 / n_samples)
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cost)

init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)

x_value = np.random.uniform(0, 1, size = (n_samples, 9))
y_value = np.random.uniform(0, 1, size = (n_samples))

for i in range(n_samples):
    mysum = 0.0
    print (i)
    for j in range(9):
        print (x_value[i][j])
        mysum += x_value[i][j]
    y_value[i] = mysum
    print (y_value[i])

 cost = sess.run( train_step, feed_dict={x: x_value, y: y_value} )

print (cost)

我得到了这个错误:

代码语言:javascript
复制
ValueError: Cannot feed value of shape (100,) for Tensor u'add:0', which has   shape '(100, 1)'

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2017-03-02 01:10:24

代码定义了y两次:

代码语言:javascript
复制
y = tf.placeholder(tf.float32, shape=[n_samples])
# ...
y = tf.matmul(x, W) + b

因为y只是一个普通的Python变量,所以第二个赋值会用偏置加法的输出覆盖占位符。当您为y提供一个值时,TensorFlow将其解释为试图为tf.matmul(x, W) + b的结果提供一个替换值,而不是原始的tf.placeholder()

要解决此问题,请为占位符ytf.matmul(x, W) + b的结果使用不同的Python变量名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42537244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档