python - 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,所以我是一个超级傻瓜。我接受意见和建议。谢谢你看我的第一个问题。请帮忙!:((((
解决方案
您输入的 Keras 与您的 numpy 数组不匹配。找出你的 numpy 数组的大小并相应地更改输入形状。如果超过 2 个维度,请在密集层之前使用扁平层。
请记住,np 数组的第一个维度将被解释为批量大小
推荐阅读
- javascript - 承诺不会异步运行
- sql - 使用 SQL Pivot 合并两个表的数据并连接子查询
- java - 当我使用增量运算符时,为什么会打印以下内容?
- html - 如何将输入定位在它自己的div的左下角
- ansible - 用ansible发送mailconfig命令,回答问题
- javascript - 在 Ace 编辑器中嵌入语法
- c# - 如何解决 OrchardCore cms 中的启用功能问题?
- javascript - 如何将 Mongoose 中的日期转换为不同的格式
- php - 如何从 table1 的 ID 中提取数据并通过 PHP 将其放入 table2 的 FOREIGN KEY
- python - pyautogui keyboard.add_hotkey 仅用于映射具有单个键的热键