图像分类模型训练遇Data cardinality歧义错误,求解决方案
解决训练图像分类模型时的ValueError(数据基数歧义)
问题定位
你遇到的报错核心是验证集的输入数据(X_val)和标签数据(y_val)样本数量不匹配。虽然训练集的X_train和y_train维度匹配,但model.fit中传入的validation_data=(X_val, y_val)存在基数不一致:报错里提到的y大小308、x大小多个96,说明X_val的样本数是96,而y_val是308,两者不相等。
解决步骤
- 先验证验证集的样本数量一致性:
print("验证集输入样本数:", len(X_val)) print("验证集标签样本数:", len(y_val)) print("验证集输入形状:", np.array(X_val).shape) print("验证集标签形状:", np.array(y_val).shape) - 确保X_val的形状为
(N, 96, 96, 3)(N是验证集样本数),y_val的形状为(N,),且两者的N完全相同。 - 如果X_val是单个样本的形状(比如
(96,96,3)),需要扩展维度让它符合批量格式:X_val = np.expand_dims(X_val, axis=0) - 检查验证集的生成/加载逻辑,确认没有在划分数据时出现样本和标签错位、遗漏的情况。
内容的提问来源于stack exchange,提问作者Neil Gibson
相关产品推荐
相关产品推荐

