You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras输入形状不匹配报错:如何重塑输入数据适配模型?

解决Keras输入形状不匹配的问题

这个报错的核心原因是你的输入数据维度不符合模型的要求。你的模型第一层Dense(15, input_dim=15)期望每个输入样本是15维的,并且批量输入需要是一个二维张量,形状为(样本数量, 15)(也就是每行对应一个包含15个特征的样本)。

但你现在传入的是一个包含多个15维数组的列表,Keras没有正确识别出这是批量样本,反而把每个数组的维度解析错了,所以才会报出“expected dense_1_input to have shape (15,) but got array with shape (1,)”的错误。

具体修复步骤

只需要把你的输入列表转换成二维numpy数组即可,Keras就能正确识别每个样本的15维特征:

  1. 先确保导入numpy:
import numpy as np
  1. 将输入列表转换为二维数组:
# 假设你的原始输入列表名为input_data
input_data = [array([0. , 0.08333333, ...]), array([0.04166667, 0.10416667, ...]), ...]
# 转换为二维numpy数组
X_train = np.array(input_data)
# 可以打印形状确认,应该输出 (N, 15),N是你的样本数量
print(X_train.shape)
  1. 之后用这个X_train去训练模型就没问题了:
model.fit(X_train, y_train, epochs=10, batch_size=32)  # y_train是你的标签数据

额外提示

如果之后需要对单个样本进行预测,也要确保它的形状是(1, 15),而不是(15,)。比如:

single_sample = np.array([0. , 0.08333333, 0.08333333, ..., 0.])
# 重塑形状以适配模型输入要求
single_sample = single_sample.reshape(1, 15)
# 进行预测
prediction = model.predict(single_sample)

这样就能完全适配模型的输入要求啦~

内容的提问来源于stack exchange,提问作者birdmw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:30:42