Tensorflow,数据集错误:“无法将数据帧转换为Tensor或操作。”

2024-03-29 08:53:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Tensorflow创建一个神经网络,并尝试使用熊猫数据帧作为我的数据。这给了我一个错误,说我不能将数据帧转换成张量。我认为通过numpy.asarray()传递数据帧应该已经修复了这个错误,但是我仍然得到了这个错误。你知道吗

这是我的密码:

import numpy as np
import tensorflow as tf
import pandas as pd

dataframe = pd.read_csv('data.csv')
dataframe.drop(dataframe.columns.difference(["Happiness.Score", "Freedom", "Family", "Generosity"]), 1, inplace=True)

train = dataframe[1:11]
test = dataframe[12:22]

test.pop("Happiness.Score")

dataY = np.asarray(train["Happiness.Score"])
dataX = np.asarray(train.drop(["Happiness.Score"], axis=1))

inputX = tf.placeholder(tf.float32, [10, 3])
inputY = tf.placeholder(tf.float32, [10])

W = tf.Variable(tf.zeros([3, 10]))
b = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(inputX, W) + b)

cross_entropy = tf.reduce_sum(y * tf.log(inputY))

optimizer = tf.train.GradientDescentOptimizer(.01)
trainer = optimizer.minimize(cross_entropy)

init = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init)
for step in range(1000):
    sess.run(train, feed_dict={inputX: dataX, inputY: dataY})
    print(sess.run(cross_entropy, feed_dict={inputX: dataX, inputY: dataY}))
sess.close()

这会抛出错误

has invalid type , must be a string or Tensor. (Can not convert a DataFrame into a Tensor or Operation.)

有没有办法解决这个问题?你知道吗


Tags: 数据importdataframetfas错误nptrain
1条回答
网友
1楼 · 发布于 2024-03-29 08:53:20

你想用这条线吗?你知道吗

    sess.run(trainer, feed_dict={inputX: dataX, inputY: dataY})

你现在在用这条线。你知道吗

    sess.run(train, feed_dict={inputX: dataX, inputY: dataY})

相关问题 更多 >