- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大约 8200 张图像用于人脸检测任务。其中 4800 个包含人脸。其他 3400 张图像包含 3D 人脸面具(由橡胶/ latex 制成)、卡通人脸、猴子脸的图像。我想检测给定的图像是否包含真实的人脸。
我训练了许多网络,改变了超参数,但每次我的训练准确率都达到 98% 以上,验证准确率保持在 60-70% 左右。我尝试过包含 3-5 个 Conv 层和 1 个 FC 层的网络。我使用 L2 正则化、批量归一化、数据增强和 dropout 来消除过度拟合。然后,随着训练的进行,我尝试降低 Adam 优化器的学习率。我对网络进行了超过 100 个 epoch 的训练,有时甚至高达 200 个 epoch。然而,我能达到的最佳验证准确度(数据集的 20%)是 71%。有没有办法将验证准确率提高到 85% 以上?我使用了以下架构,输入图像大小为 256*256*3,并使用批量大小 16 对其进行训练。
regularizer = tf.keras.regularizers.l2(l=0.005)
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(64, (5, 5),strides=(2, 2), activation='relu', input_shape=(256, 256, 3), kernel_regularizer=regularizer),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(96, (5, 5), padding='same', activation='relu', kernel_regularizer=None),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(128, (3, 3), padding='same', activation='relu', kernel_regularizer=None),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(256, (3, 3), padding='same', activation='relu', kernel_regularizer=None),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(),
#tf.keras.layers.Dense(2048, activation='relu', kernel_regularizer=regularizer),
tf.keras.layers.Dense(4096, activation='relu', kernel_regularizer=None),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(1, activation='sigmoid', kernel_regularizer=regularizer)
])
最佳答案
SpatialDropout2D
。BatchNormalization
(显然,最后一个 Dense/sigmoid 层除外)。如果所有这些组合不足以获得良好的验证准确性,那么您可能只是没有足够的数据。
<小时/>一些可能不会减少过度拟合的提示,但通常会有所帮助:
关于python - CNN 的验证准确率没有提高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58119629/
我训练了 LSTM 分类模型,但得到了奇怪的结果(0 准确率)。这是我的带有预处理步骤的数据集: import pandas as pd from sklearn.model_selection im
使用 TFlearn 构建 DNN 后,我想计算网络的准确性。 这是代码: def create_model(self): x = tf.placeholder(dtype= tf.float
Duplicate calculating Precision, Recall and F Score 我有一个带有文本描述和分类级别(即levelA和levelB)的输入文件。我想编写一个 SVM
如何计算语义分割中前 k 个准确率?在分类中,我们可以将 topk 准确率计算为: correct = output.eq(gt.view(1, -1).expand_as(output)) 最佳答案
我正在尝试解决多标签分类问题 from sklearn.preprocessing import MultiLabelBinarizer traindf = pickl
我是一名优秀的程序员,十分优秀!