首页 > 解决方案 > 二元分类问题的低准确率

问题描述

我正在尝试建立一个分类模型来识别室内设计中图片的观点。目前,我只考虑两个类:sofa_left 和 sofa_right,具体取决于沙发的方向(参见示例)

我使用与本教程相同的代码进行迁移学习(基于具有 imagenet 权重的 MobileNetV2)。

代码没有问题:我可以使用提供的猫狗数据集重现预期结果。

如果有帮助,这里是模型摘要。

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_31 (InputLayer)        [(None, 160, 160, 3)]     0         
_________________________________________________________________
tf_op_layer_strided_slice (T [(None, 160, 160, 3)]     0         
_________________________________________________________________
tf_op_layer_BiasAdd (TensorF [(None, 160, 160, 3)]     0         
_________________________________________________________________
resnet50 (Functional)        (None, 5, 5, 2048)        23587712  
_________________________________________________________________
global_average_pooling2d_15  (None, 2048)              0         
_________________________________________________________________
dropout_15 (Dropout)         (None, 2048)              0         
_________________________________________________________________
dense_15 (Dense)             (None, 1)                 2049      
=================================================================
Total params: 23,589,761
Trainable params: 2,049
Non-trainable params: 23,587,712
_________________________________________________________________

然而,我自己的图像的结果真的很差(50% 的准确度......),我不知道为什么。模型中有 dropouts,我尝试了很多设置(学习率、验证拆分、批量大小)和很多预训练模型。

每个班级我有大约 150 张照片。我知道这不是一个很大的数据集,但我不需要过多概括,我需要测试的所有图片都是同一类型的。是不是太短了?

kmeans clustering对数据集上的 MobileNetV2 进行的预测运行了一个算法,tada...图片在 sofa_left 和 sofa_right 之间完美排序。它让我直觉这个分类问题应该可以通过学习来解决。我对吗?我错过了什么吗?

谢谢您的帮助。

标签: pythontensorflowimage-classification

解决方案


推荐阅读