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

Keras model.fit报错:Unrecognized data type问题求助

解决Keras model.fit()中ValueError: Unrecognized data type问题

错误原因

你遇到的ValueError本质是传入model.fit()的scaled_train_samples是MinMaxScaler类的实例对象,而非经过归一化处理后的numpy数组。即便你认为x是np.ndarray类型,代码里大概率漏了执行数据转换的关键步骤。

解决步骤

  1. 修正数据归一化代码
    必须调用scaler的fit_transform()或fit()+transform()方法生成真正的归一化样本数组,示例代码:

    from sklearn.preprocessing import MinMaxScaler
    
    # 初始化归一化器
    scaler = MinMaxScaler()
    # 对训练数据拟合并转换,得到numpy数组格式的归一化样本
    scaled_train_samples = scaler.fit_transform(train_samples)
    

    注意:不要直接把scaled_train_samples赋值为MinMaxScaler(),这只会创建一个scaler对象,不是处理后的数据。

  2. 验证数据类型
    在执行model.fit()前,打印数据类型确认:

    print(type(scaled_train_samples))  # 输出应为 <class 'numpy.ndarray'>
    

    如果输出仍是<class 'sklearn.preprocessing._data.MinMaxScaler'>,说明前面的转换步骤有误,需要检查train_samples的格式是否符合要求(比如是否是二维数组)。

  3. 重新执行训练代码
    确认scaled_train_samples是numpy数组后,再次运行:

    model.fit(x=scaled_train_samples, y=train_labels, batch_size=10, epochs=30, shuffle=True, verbose=2)
    

常见误区提示

很多教程会把scaler初始化和数据转换合并展示,容易忽略fit_transform()这一核心步骤,直接将scaler对象传入模型训练,从而触发类型不匹配的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:12:09