Python 二元分类问题的低精度
我试图建立一个分类模型来识别室内设计中图片的视角。目前,我只考虑两个类:沙发的左边和沙发的右边,这取决于沙发的方向。 我在迁移学习中使用了与此完全相同的代码(基于MobileNetV2和imagenet权重) 代码没有问题:我可以使用提供的猫和狗数据集重现预期结果。 如果有帮助的话,下面是模型摘要Python 二元分类问题的低精度,python,tensorflow,image-classification,Python,Tensorflow,Image Classification,我试图建立一个分类模型来识别室内设计中图片的视角。目前,我只考虑两个类:沙发的左边和沙发的右边,这取决于沙发的方向。 我在迁移学习中使用了与此完全相同的代码(基于MobileNetV2和imagenet权重) 代码没有问题:我可以使用提供的猫和狗数据集重现预期结果。 如果有帮助的话,下面是模型摘要 _________________________________________________________________ Layer (type) Outpu
_________________________________________________________________
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%的准确率…),我不知道为什么。
模型中有辍学者,我尝试了许多设置(学习率、验证分割、批量大小)和许多预先训练的模型
我每节课大约有150张照片。我知道这不是一个大的数据集,但我不需要太多概括,我需要测试的所有图片都是同一类型的。它太短了吗
我在数据集和tada上运行了一个kmeans聚类算法,该算法基于MobileNetV2的预测。。。图片在左沙发和右沙发之间进行了完美的分类。这给了我直觉,这个分类问题应该可以通过学习来解决。我说得对吗?
我错过什么了吗
谢谢你的帮助。我想先试试猫vs沙发。应该有用。如果不是,则存在模型问题。否则,并不是说ConvNet不能编码位置,而是我的直觉是,这不是他们最擅长的。谢谢你的输入!我试过沙发(前视图)和沙发(左视图和前视图)的对比,结果确实不错。看来你的直觉很好。然而,你知道为什么kmean算法表现得这么好吗?我对resnet50预测结果的特性运行了Kmean。当你说预测时,你是指resnet50最后一个卷积层的输出吗?不管怎样,你可能是指密集层的原始逻辑。确保您的损失(from_logits=True)确实是最后一层的原始登录,损失函数为from_logits。我使用了另一个数据集(混合了所有沙发左/右,添加了不同的框架和其他角度,如厨房和前沙发)。我的val准确率要高得多(85%)。谢谢你的意见。