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

Keras模型model.predict输出维度异常,求解释其输出含义

关于Keras模型predict输出形状的问题解答

首先咱们得明确:你遇到的问题核心是输入数据的形状不符合Keras模型的预期。

为什么会得到(8,2)的输出?

Keras的model.predict()方法默认要求输入是批量数据——也就是形状为(batch_size, input_features)的二维数组,其中第一维是样本数量,第二维是每个样本的特征数。

你说的“单条数据”如果是直接传入了形状为(8,)的一维数组,Keras会自动把它解读成「8个独立的样本,每个样本只有1个特征」。而你的模型输出维度是2,所以最终就生成了8个样本对应的预测结果,形状自然就是(8,2)——这就是你看到那8组二维结果的由来。

这个输出实际代表什么?

你现在拿到的8组[a, b]数值,其实是模型把你输入的8个单个数值当成8个独立输入后,分别给出的预测输出。但这肯定不是你想要的,因为你的初衷是让模型处理1个包含8个特征的样本。

如何得到正确的单样本预测结果?

解决方法很简单,只要给你的单条数据增加一个「批量维度」,把它转换成模型期望的输入格式:

  • 如果你用的是numpy数组,可以用np.expand_dims(your_single_data, axis=0),这样输入形状就变成了(1,8)
  • 或者直接用列表把数据包起来:model.predict([your_single_data])

这样处理后,model.predict()会返回形状为(1,2)的结果,这才是你真正需要的、对应单条8特征样本的二维输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:46:06