[英]How to choose the best layers for CNN and improve the precision?
我正在使用 CNN model 构建食物识别问题。 我的数据由 35 个标签和 1017 个大小为 224 的图像组成,我将训练数据和有效数据分开,结果是 824 个训练和 193 个有效。 我为如下代码的类构建结构。 然而,在 100 多个 epoch 之后,我运行了测试数据集,预测分数只有 2.85%,f1_score、precision 和 recall 指标只出现在 1-2 个标签中。 如何提高我的预测分数以及 f1_score、precision、recall
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(224,224,3)),
tf.keras.layers.Conv2D(32, (3,3), activation='relu',padding='same'),
tf.keras.layers.MaxPooling2D(2,2),
tf.keras.layers.Conv2D(64, (3,3), activation='relu',padding='same'),
tf.keras.layers.Conv2D(64, (3,3), activation='relu',padding='same'),
tf.keras.layers.MaxPooling2D(2,2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(256, activation='relu'),
tf.keras.layers.Dropout(0.5),
tf.keras.layers.Dense(35, activation='softmax'),
])
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.summary()
最重要的是你需要更多的数据,如果你训练 model 100 个 epoch 的可用数据,它肯定会过拟合训练样本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.