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

基于MobileNetV2的犬种分类模型输入形状不兼容问题求助

问题定位与解决步骤
  • 核心问题:你定义的模型输入层形状(244,244,3)和数据集预处理时设置的图片尺寸(224,224)完全不匹配,这就是触发ValueError的直接原因,和数据集划分无关。
  • 两种修复方案二选一即可:
    1. 修改模型输入层对齐预处理尺寸
      找到初始化MobileNetV2或自定义输入层的代码,将input_shape参数修正为(224,224,3),示例代码:
      # 加载预训练MobileNetV2时修正输入形状
      base_model = MobileNetV2(include_top=False, input_shape=(224,224,3), weights='imagenet')
      # 如果是自定义输入层
      input_layer = tf.keras.layers.Input(shape=(224,224,3))
      
    2. 修改数据集预处理对齐模型输入层
      把图片预处理流程中的resize目标尺寸改成(244,244),示例代码(以ImageDataGenerator为例):
      train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
      train_dataset = train_datagen.flow_from_directory(
          'your_train_dir_path',
          target_size=(244,244),  # 修正为模型期望的尺寸
          batch_size=32,
          class_mode='categorical'
      )
      
  • 验证修复:修改后重新构建模型,先取数据集的一个小批量数据(比如next(iter(train_dataset)))喂给model.predict测试,确认无形状报错后,再执行model.evaluate(train_dataset)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:01:12