当前位置: 首页 > 知识库问答 >
问题:

无法为张量Placeholder_36:0输入形状(4,)的值,该张量具有形状(?,4)

杭泉
2023-03-14

我正在尝试实现tensorflow回归模型,我的数据形状是train_X=(200,4)和train_Y=(200,)。我得到的形状错误,这是我的一段代码,请任何人都能提到我在哪里做错了。

df=pd。读取\u csv('all.csv')

df=df。下降(“时间”,轴=1)

打印(df.descripe())#以了解数据集

列车Y=df[“功率”]

列车X=df。下降('功率',轴=1)

列车X=numpy。asarray(列车X)

列车Y=numpy。asarray(Y列)

n_样本=序列X.形状[0]

X=tf。占位符('float',[None,len(train_X[0]))

Y=tf。占位符(“浮动”)

W=tf。变量(rng.randn(),name=“weight”)

b=tf。变量(rng.randn(),name=“bias”)

pred=tf.add(tf.multiply(X, W), b)

成本=tf.reduce_sum(tf.pow(pred-Y,2))/(2*n_samples)

默认情况下为true

优化器=tf。火车GradientDescentOptimizer(学习率)。最小化(成本)

init=tf。全局变量初始化器()

用tf。会话()作为SES:

# Run the initializer

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()enter code here

共有1个答案

范志勇
2023-03-14

我改变了形状,问题解决了

列车y=np。重塑(序列y,(-1,1))

 类似资料:
  • 我是张量流和机器学习的新手。我正在尝试创建一个具有张量流的情感分析 NN。 我已经建立了我的体系结构,并试图训练模型,但我遇到了错误 ValueError:无法为具有形状'(?,100)'的张量'InputData/X: 0'提供形状(32,2)的值 我认为错误与我的输入“layer net=tflearn.input_data([None,100])”有关。我正在学习的教程建议使用这种输入形状,

  • 目前正在尝试学习卷积网络的Tensorflow MNIST教程,我可以使用一些帮助来理解该死的张量的维度。 所以我们有28x28像素的图像。 卷积将为每个5x5补丁计算32个特征。 让我们暂时接受这一点,并在以后问自己为什么是32个功能和为什么是5x5补丁。 其重量张量的形状为5、5、1、32。前两个维度是面片大小,下一个维度是输入通道数,最后一个维度是输出通道数。 W_conv1weight_v

  • TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通. 阶 在TensorFlow系统中,张量的维数来被描述为阶.但是张量的阶和矩阵的阶并不是同一个概念.张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述.比如,下面的张量(使用Python中list定义的)就是2阶

  • 问题内容: 我是TensorFlow和机器学习的新手。我正在尝试将两个对象归类为杯子和Pendrive(jpeg图像)。我已经成功训练并导出了model.ckpt。现在,我正在尝试恢复保存的model.ckpt以进行预测。这是脚本: 当我运行上述脚本进行预测时,出现以下错误: 我究竟做错了什么?以及如何修复numpy数组的形状? 问题答案: 形状为。 您的输入占位符的形状为。 问题是您要为占位符提

  • 我是新来的,所以任何帮助都是值得的,这段代码是我的教授给我的,当我问一个例子,我希望有一个工作模型。。。 读取数据 将行走状态定义为0,运行状态定义为1 随机选取50%的数据作为测试数据,其余数据作为列车数据 使用skLearning选择50%的功能 应用支持向量机算法 回溯(最近一次调用):文件“”,第1行,在execfile exec(compile(f.read)()第89行的文件“C:\U

  • 问题内容: 我定义这样的张量: 但是当我尝试打印张量的形状时: 我得到 Tensor(“ Shape:0”,shape =(1,),dtype = int32) ,为什么输出结果不应为shape =(100) 问题答案: tf.shape(input,name = None) 返回表示输入形状的一维整数张量。 你要找的:它返回的的变量。