简单的Tensorflow线性模型

v78

这里train_X(shape = m,64)和train_Y(m,1)是numpy数组,其中m是我的训练样本数。

print('train and test array computed')
print(train_X[:2])
print(train_Y[:2])

这些行的输出是

train and test array computed
[[  8.10590000e+01   8.91460000e+01   1.00000000e+02   1.00000000e+02
    0.00000000e+00   5.26000000e-01   5.80000000e-01   5.80000000e-01
    5.80000000e-01   5.80000000e-01   8.00000000e-01   6.66670000e+01
    6.36160000e+01   8.36000000e-01   1.17300000e+00   5.80000000e-01
    6.48860000e+01   5.80000000e-01   1.73640000e+01  -2.07250000e+01
    5.81000000e-01   0.00000000e+00   5.80000000e-01   5.80000000e-01
    7.00000000e-03   5.80000000e-01  -5.44000000e-01  -2.36000000e-01
    5.80000000e-01   5.81000000e-01   5.81000000e-01   5.80000000e-01
    5.80000000e-01   5.80000000e-01   5.80000000e-01   5.80000000e-01
    0.00000000e+00   4.00000000e-01   2.10000000e-02   1.00000000e+00
    1.00021000e+02   8.18080000e+01   5.71000000e-01   5.48000000e-01
    6.14000000e-01   5.80000000e-01   7.62000000e-01   0.00000000e+00
    1.00000000e+02   1.00000000e+02   0.00000000e+00   1.00000000e+02
    1.00000000e+02   1.16100000e+00   5.80000000e-01   6.56000000e-01
    5.80000000e-01   5.80000000e-01   5.81000000e-01   5.80000000e-01
    1.00000000e+02   5.80000000e-01   0.00000000e+00   5.80000000e-01]
 [  5.12680000e+01   4.87480000e+01   1.00000000e+02   1.00000000e+02
    0.00000000e+00   4.18000000e-01   4.44000000e-01   4.44000000e-01
    4.44000000e-01   4.44000000e-01   5.00000000e-01   6.66670000e+01
    3.83570000e+01   9.03000000e-01   1.10000000e+00   4.44000000e-01
    5.63070000e+01   4.44000000e-01   1.85220000e+01   1.94233000e+02
    4.44000000e-01   0.00000000e+00   4.44000000e-01   4.44000000e-01
    1.00000000e-03   4.44000000e-01  -8.12000000e-01  -3.53000000e-01
    4.44000000e-01   4.44000000e-01   4.44000000e-01   4.44000000e-01
    4.44000000e-01   4.44000000e-01   4.44000000e-01   4.44000000e-01
    0.00000000e+00   5.00000000e-01   2.00000000e-03   1.00000000e+00
    1.00002000e+02   6.91780000e+01   4.42000000e-01   4.29000000e-01
    4.59000000e-01   4.44000000e-01   6.66000000e-01   0.00000000e+00
    5.00000000e+01   5.00000000e+01   0.00000000e+00   5.00000000e+01
    5.00000000e+01   8.88000000e-01   4.44000000e-01   4.75000000e-01
    4.44000000e-01   4.44000000e-01   4.44000000e-01   4.44000000e-01
    5.00000000e+01   4.44000000e-01  -5.00000000e+01   4.44000000e-01]]
[ 0.44378  0.6821 ]

这是我程序的相关部分。

rng = np.random

# Parameters
learning_rate = 0.01
training_epochs = 1000
display_step = 50

# Training Data
n_samples = train_X.shape[0]
n_features = train_X.shape[1]

# tf Graph Input
X = tf.placeholder(tf.float32,[None,n_features])
Y = tf.placeholder(tf.float32,[None,1])

# Set model weights
W = tf.Variable(tf.random_normal([n_features,1],mean=0,stddev=(np.sqrt(6/n_features+
                                                         1+1))), name="weight")
b = tf.Variable(tf.random_normal([1,1],
                                    mean=0,
                                    stddev=(np.sqrt(6/n_features+1+1)),
                                    name="bias"))

# Construct a linear model
pred = tf.add(tf.mul(X, W), b)

# Mean squared error
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
# Gradient descent
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

# Initializing the variables
init = tf.initialize_all_variables()

print('starting the session')

# Launch the graph
with tf.Session() as sess:
    sess.run(init)

    # Fit all training data
    for epoch in range(training_epochs):
        for (x, y) in zip(train_X, train_Y):
            sess.run(optimizer, feed_dict={X: x, Y: y})

        # Display logs per epoch step
        if (epoch+1) % display_step == 0:
            c = sess.run(cost, feed_dict={X: train_X, Y:train_Y})
            print("Epoch:", '%04d' % (epoch+1), "cost=", "{:.9f}".format(c), \
                "W=", sess.run(W), "b=", sess.run(b))

    print("Optimization Finished!")
    training_cost = sess.run(cost, feed_dict={X: train_X, Y: train_Y})
    print("Training cost=", training_cost, "W=", sess.run(W), "b=", sess.run(b), '\n')

    # Graphic display
    # plt.plot(train_X, train_Y, 'ro', label='Original data')
    # plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')
    # plt.legend()
    # plt.show()

    # Testing example, as requested (Issue #2)

    print("Testing... (Mean square loss Comparison)")
    testing_cost = sess.run(
        tf.reduce_sum(tf.pow(pred - Y, 2)) / (2 * test_X.shape[0]),
        feed_dict={X: test_X, Y: test_Y})  # same function as cost above
    print("Testing cost=", testing_cost)
    print("Absolute mean square loss difference:", abs(
        training_cost - testing_cost))

    # plt.plot(test_X, test_Y, 'bo', label='Testing data')
    # plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')
    # plt.legend()
    # plt.show()

我一直在努力使其工作很长时间,但从未成功。我给我错误。

Traceback (most recent call last):
  File "q.py", line 158, in <module>
    sess.run(optimizer, feed_dict={X: x, Y: y})
  File "/home/tensorflow/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 382, in run
    run_metadata_ptr)
  File "/home/tensorflow/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 640, in _run
    % (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (64,) for Tensor 'Placeholder:0', which has shape '(?, 64)'

问题出在sess.run(优化程序,feed_dict = {X:x,Y:y})行中

史蒂文

我认为错误是您正在使用zip(train_X,train_Y)压缩(x,y):所以这将给出一个x和一个y示例。

相反,您想像这样直接输入trainX和trainY:

feed_dict={X: train_X, Y:train_Y}

您可以通过运行来检查是否是这种情况

for (x, y) in zip(train_X, train_Y):
    print(x.shape,y.shape) # I guess this will be 64 and 1 for x and y resp.
    sess.run(optimizer, feed_dict={X: x, Y: y})

您希望它具有形状X =(#,64)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模拟简单的线性模型

来自分类Dev

使用PyMC最简单的线性模型

来自分类Dev

简单多元线性模型的Rstan代码

来自分类Dev

简单多元线性模型的Rstan代码

来自分类Dev

训练模型以预测简单线性函数

来自分类Dev

简单线性回归上的Tensorflow

来自分类Dev

在Tensorflow-Probability中具有DenseVariational层的简单线性回归模型返回:TypeError:'NoneType'对象不可调用

来自分类Dev

使用Tensorflow的多元线性回归模型

来自分类Dev

在TensorFlow中使用ReLU建立非线性模型

来自分类Dev

出现错误:形状未对齐,具有统计模型和简单的二维线性回归

来自分类Dev

“数组不是python函数”在keras中构建简单线性模型时出错

来自分类Dev

从关于数据的简单线性回归模型的参数得出什么结论

来自分类Dev

Tensorflow对于简单的softmax模型,参数值没有变化

来自分类Dev

简单线性依赖

来自分类Dev

熊猫中的线性模型

来自分类Dev

如何在Tensorflow中打印出多元线性回归模型正在使用的方程式?

来自分类Dev

dplyr和多个线性模型

来自分类Dev

带约束的R线性模型

来自分类Dev

glmulti和线性混合模型

来自分类Dev

线性模型的系数太大/太低

来自分类Dev

使用R的线性回归模型

来自分类Dev

应用分段线性模型多年

来自分类Dev

线性规划-组合模型

来自分类Dev

任何简单的方法来获取Imagenet数据集以在Tensorflow中训练自定义模型?

来自分类Dev

是否可以在简单的html页面中使用wamp加载TensorFlow模型

来自分类Dev

任何简单的方法来获取Imagenet数据集以在Tensorflow中训练自定义模型?

来自分类Dev

Python多重简单线性回归

来自分类Dev

如何绘制简单的分段线性函数?

来自分类Dev

使用python进行线性回归的简单预测

Related 相关文章

  1. 1

    模拟简单的线性模型

  2. 2

    使用PyMC最简单的线性模型

  3. 3

    简单多元线性模型的Rstan代码

  4. 4

    简单多元线性模型的Rstan代码

  5. 5

    训练模型以预测简单线性函数

  6. 6

    简单线性回归上的Tensorflow

  7. 7

    在Tensorflow-Probability中具有DenseVariational层的简单线性回归模型返回:TypeError:'NoneType'对象不可调用

  8. 8

    使用Tensorflow的多元线性回归模型

  9. 9

    在TensorFlow中使用ReLU建立非线性模型

  10. 10

    出现错误:形状未对齐,具有统计模型和简单的二维线性回归

  11. 11

    “数组不是python函数”在keras中构建简单线性模型时出错

  12. 12

    从关于数据的简单线性回归模型的参数得出什么结论

  13. 13

    Tensorflow对于简单的softmax模型,参数值没有变化

  14. 14

    简单线性依赖

  15. 15

    熊猫中的线性模型

  16. 16

    如何在Tensorflow中打印出多元线性回归模型正在使用的方程式?

  17. 17

    dplyr和多个线性模型

  18. 18

    带约束的R线性模型

  19. 19

    glmulti和线性混合模型

  20. 20

    线性模型的系数太大/太低

  21. 21

    使用R的线性回归模型

  22. 22

    应用分段线性模型多年

  23. 23

    线性规划-组合模型

  24. 24

    任何简单的方法来获取Imagenet数据集以在Tensorflow中训练自定义模型?

  25. 25

    是否可以在简单的html页面中使用wamp加载TensorFlow模型

  26. 26

    任何简单的方法来获取Imagenet数据集以在Tensorflow中训练自定义模型?

  27. 27

    Python多重简单线性回归

  28. 28

    如何绘制简单的分段线性函数?

  29. 29

    使用python进行线性回归的简单预测

热门标签

归档