【问题标题】:Face recognition with keras使用 keras 进行人脸识别
【发布时间】:2019-04-29 06:06:23
【问题描述】:

下面是我的人脸识别模型。在训练我的训练数据时,我遇到了几个问题。我的数据集包含我的图像。当我训练它时,验证准确率为 100%。而且它的预测也很糟糕。我该怎么做才能解决这个问题?

from keras import layers
from keras import models 

model = models.Sequential()
model.add(layers.Conv2D(32,(3,3),activation='relu',
    input_shape = (150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Dropout(0.5))
model.add(layers.Conv2D(64,(3,3),activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128,(3,3),activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Dropout(0.5))
model.add(layers.Conv2D(128,(3,3),activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dense(512,activation='relu'))
model.add(layers.Dense(1,activation='sigmoid'))

print(model.summary())

from keras import optimizers

model.compile(loss='binary_crossentropy',
    optimizer=optimizers.RMSprop(lr=1e-4),
    metrics=['acc'])

from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(rescale=1./255)
val_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
    train_dir,
    target_size = (150,150),
    batch_size=20)

validation_generator = val_datagen.flow_from_directory(
    validation_dir,
    target_size = (150,150),
    batch_size=20)

history = model.fit_generator(
train_generator,
steps_per_epoch = 100,
epochs = 3,
validation_data = validation_generator,
validation_steps = 50)

model.save('/home/monojit/Desktop/me3.h5')

【问题讨论】:

    标签: python machine-learning keras


    【解决方案1】:

    正在使用的数据集有多大?一个小数据集可能是问题所在,或者如果模型泛化不好,您的模型架构可能会出现问题。此外,您可能会使用ImageDataGenerator 查看图像增强,请参阅稍后我将链接到的博客文章。

    如果这个项目的目的是在不明确了解 CNN 及其不同层的工作原理的情况下获得尽可能高的准确度,那么我建议如下。在处理图像时,您可能不想重新发明轮子。继续使用预训练的卷积神经网络,然后在您的图像上进行训练。与未经训练的网络相比,这将以更少的时期为您带来更高的准确性。可以在这里找到一篇很棒的博文Keras Cats vs dogs。 现在本教程是猫与狗。但是您可以使用(几乎取决于您的输入图像)完全相同的代码来解决您的问题。

    【讨论】:

    • @deKeijzerMy 数据集包含我的图像。没有。目前的训练样本只有 2500 个。如果没有。低,如何使我的模型准确?
    猜你喜欢
    • 2021-07-27
    • 2014-04-15
    • 2021-03-12
    • 2014-01-20
    • 2014-05-04
    • 2012-11-01
    • 2012-12-10
    • 2014-05-21
    • 2011-08-01
    相关资源
    最近更新 更多