如何读取 csv 文件并将其应用于 tensorflow

Posted

技术标签:

【中文标题】如何读取 csv 文件并将其应用于 tensorflow【英文标题】:how to read csv file and apply it to tensor flow 【发布时间】:2017-02-10 02:53:09 【问题描述】:

我是张量流的新手,我试图学习如何读取包含两个特征和一个标签的 csv 中的数据,但遇到了以下错误

I here by attach the csv file

df=pd.read_csv("intro_to_ann.csv")

X=tf.placeholder("float",[None,2])
y_=tf.placeholder("float",2)


W = tf.Variable(tf.zeros([2,2]))
print(W)
b = tf.Variable(tf.zeros([2]))
print(b)
y= tf.sigmoid(tf.matmul(X, W) + b)#predicted value


error = tf.square(y - y_)
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(error)

init = tf.initialize_all_variables()

errors = []
with tf.Session() as sess:
sess.run(init)
 X_data, Y_data = np.array(df.ix[:,0:2]), np.array(df.ix[:,2])
for epoch in range(training_epochs):
    for (x_d,y_d) in zip(X_data,Y_data):
        print(x_d)
        print(y_d)
        sess.run(optimizer, feed_dict=X:x_d,y_:y_d)

我收到了这个错误

ValueError: 无法为形状为“(2, 2)”的张量“Placeholder_33:0”提供形状 (2,) 的值

【问题讨论】:

【参考方案1】:

您在代码中重新定义了 y。为占位符和数据变量选择不同的名称。它应该可以正常工作。

【讨论】:

感谢您的帮助,我如上更改了源代码并得到了形状错误。你能看一下它并帮助我在定义输入和输出的大小时出错的地方吗? ` 您再次为不同的节点使用相同的名称:y = tf.placeholder("float",2) 和 y = tf.sigmoid(tf.matmul(X, W) + b) #predicted value .这不是正确的方法。为他们选择不同的名字。 你能告诉我我在哪里使用相同的名称,我需要在代码中准确更改哪里! 我明白了我改变了它们,即使那样我的错误也是一样的我在定义占位符的形状时遗漏了一些东西我的输入 X 有两个特征,我选择 [None,2] 因为向量尺寸为 2,我的喂食数据有两个特征,任何人都可以帮助我如何定义这些尺寸 ValueError: Cannot feed of shape (2,) for Tensor 'Placeholder_83:0', which has shape '(?, 2)' 是我得到的错误,任何人都可以帮助我请这个。

以上是关于如何读取 csv 文件并将其应用于 tensorflow的主要内容,如果未能解决你的问题,请参考以下文章

如何逐个读取csv文件数据并将其放入变量Using Groovy

如何在python中读取一个大的tsv文件并将其转换为csv

如何读取从 API 检索到的 JSON 并将其保存到 CSV 文件中?

如何从“参考文件”中推断出架构并将其用作要读取的文件的参考?

我们如何逐行打印字符并将其保存到 PLSQL 中的 csv 或文本文件

从文件中读取规则并将这些规则应用于 pyspark 数据框行