首页 > 解决方案 > Tensorflow和Keras问题ValueError:检查输入时出错:预期dense_9_input具有形状(24,)但得到形状为(0,)的数组

问题描述

您好,我正在为 kaggle 进行比赛,但是当我使用 Keras 练习时,我遇到了一个严重的问题。错误是“ValueError:检查输入时出错:预期 dense_9_input 具有形状 (24,) 但得到的数组具有形状 (0,)”。我试图通过查看堆栈溢出来解决这个问题,但我找不到正确的答案。

变量 X 包含除目标值 winPlacePerc 和字符串变量(如 ID、匹配 id 和组 id)之外的所有变量。

#Libraries

from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import pandas as pd
import tensorflow as tf

seed = 0
np.random.seed(seed)
tf.set_random_seed(seed)

train = pd.read_csv("train_V2.csv")


X = train.iloc[:,3:1]
Y = train.iloc[:,-1]


model = Sequential()
model.add(Dense(8, input_dim=24,activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])

model.fit(X, Y, epochs=200, batch_size=10)

print("\n Accuracy: %.4f" % (model.evaluate(X, Y)[1]))

数据集可以在这里找到:https ://www.kaggle.com/overload10/pubg-predicting-chicken-dinner/data

我在这里征求意见以解决这个问题。我在用 Python 自动化无聊的东西之后就开始学习 Tensorflow/Keras,所以我是一个超级傻瓜。我接受意见和建议。谢谢你看我的第一个问题。请帮忙!:((((

标签: pythontensorflowkeraskaggle

解决方案


您输入的 Keras 与您的 numpy 数组不匹配。找出你的 numpy 数组的大小并相应地更改输入形状。如果超过 2 个维度,请在密集层之前使用扁平层。

请记住,np 数组的第一个维度将被解释为批量大小


推荐阅读