python - Tensorflow 形状不匹配

标签 python machine-learning tensorflow neural-network

我正在尝试编写代码来创建神经网络。它应该从特定的 csv 文件中读取数据,该文件包含每个单独输入的 13 独特特征。这是我的代码片段:

n_inputs = 13
X = tf.placeholder(tf.float32, shape=(None, n_inputs), name="X")
y = tf.placeholder(tf.int64, shape=None, name="y")

def data_processor(n):
    id = pd.read_csv('./subset_numerical/'+patient_id[n])
    id_input = np.array(id['VALUE'].tolist())
    for s in sepsis_pat:
        if str(s) == str(patient_id[n].split('.')[0]):
            a = 1
    try:
        if a == 1:
            a = 0
            return [id_input, np.array([1, 0])]
    except:
        return [id_input, np.array([0, 1])]

我的 tf.Session() 部分如下所示:

with tf.Session() as sess:
init.run()
    for epoch in range(n_epochs):
        a = 0
        for iteration in range(300 // batch_size):
                X_batch, y_batch = data_processor(iteration)
                print((X_batch))
                sess.run(training_op, feed_dict={X: X_batch, y: y_batch})
                acc_train = accuracy.eval(feed_dict={X: X_batch, y: y_batch})
                print(epoch, "Train accuracy:", acc_train)
        save_path = saver.save(sess, "./my_model_final.ckpt")

问题是:执行后,显示以下错误:

Can not feed value of shape (13,) for tensor 'X:0', which has shape (?,13) 

这有什么问题吗?

最佳答案

您的 X 占位符需要 shape=(None, n_inputs) 的输入,并且 X_batch 的形状为 n_inputs code> 所以形状不匹配。

您可以通过将n_inputs放入列表中使其形状为(1, n_inputs)来解决该问题:

sess.run(training_op, feed_dict={X: [X_batch], y: y_batch})

关于python - Tensorflow 形状不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814984/

相关文章:

python - 多标签分类的 Tensorflow Argmax 等价物

python - 使用 Azure Functions 部署 python 机器学习模型

python - 用于 python 的 CSS 感知智能 html 解析器

python - 超出最大递归深度,保存方法,Django

python - 使用 PIL 在 Python 中将带有回车符的文本写入图像

python - 如何使用PyTorch打印出每个类别的预测准确率?

python - Keras 的基本二进制分类不起作用

tensorflow - 如何使用 Keras 卡住特定层的权重?

python - 神经网络预测足球结果

python - python中两个日期范围之间的重叠日期