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

TensorFlow训练眼睛开闭识别CNN模型报reshape张量尺寸错误

问题根因

报错由测试集数据生成器配置缺失、输入图片尺寸和模型预期不匹配导致:

  • 训练集配置了target_size=(64, 64),所有训练图会被统一缩放为64×64分辨率。经过两层无填充卷积+2倍池化后,展平层(Flatten)预期接收的单样本特征长度为1568(计算逻辑:64→卷积后62→池化后31→卷积后29→池化后14,14×14×8个卷积核=1568),和报错中要求的形状倍数完全对应。
  • 初始化测试集test_set时仅传入了数据路径,未配置图片缩放、批次大小、分类模式参数,生成器会直接读取原始尺寸图片输入模型。从报错的张量总元素数984064反推,测试集默认输出的单图尺寸为256×256,经过相同卷积池化层后输出的特征长度远大于1568,展平层按预设形状做维度重构时就会触发不匹配错误。
修复方案

修改测试集生成器的初始化代码,补全和模型输入、训练集配置对齐的参数:

test_set = test_datagen.flow_from_directory(
    'C:/Users/shtey/OneDrive/Desktop/Datasets/Eye Detection/dataset/test',
    target_size=(64, 64),
    batch_size=32,
    class_mode='binary'
)
注意事项
  • 训练集和验证集的target_size必须和模型第一层定义的input_shape前两个维度完全一致,否则必然出现维度不匹配问题。
  • 如果数据集内混入单通道灰度图、4通道RGBA格式图,也可能触发类似维度报错,可以在flow_from_directory中加color_mode='rgb'参数强制统一为3通道输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:00:57