Image processing 图像分类、恒定验证、精度和准确度
我试图用卷积神经网络对图像数据进行分类。为什么在训练期间,损失、准确度和验证准确度几乎保持不变?你能帮我吗 下面是关于我的图像分类问题的结构和我已经尝试过的一些信息Image processing 图像分类、恒定验证、精度和准确度,image-processing,keras,conv-neural-network,multiclass-classification,Image Processing,Keras,Conv Neural Network,Multiclass Classification,我试图用卷积神经网络对图像数据进行分类。为什么在训练期间,损失、准确度和验证准确度几乎保持不变?你能帮我吗 下面是关于我的图像分类问题的结构和我已经尝试过的一些信息 4节课,从0到3 列车组:4400张大小为50*50的图像。完美的平衡和正常化 验证集:400幅大小为50*50的图像。完美的平衡和正常化 尝试不同的模式:这里是最简单的一个 尝试不同的优化器:例如学习率从0.1到1e-6的SGD 损失:分类交叉熵 衡量标准:准确性 尝试不同的批量大小:8、16、32 第一个时期获得的结果:
- 4节课,从0到3
- 列车组:4400张大小为50*50的图像。完美的平衡和正常化
- 验证集:400幅大小为50*50的图像。完美的平衡和正常化
- 尝试不同的模式:这里是最简单的一个
- 尝试不同的优化器:例如学习率从0.1到1e-6的SGD
- 损失:分类交叉熵
- 衡量标准:准确性
- 尝试不同的批量大小:8、16、32
- 第一个时期获得的结果:
- 对1715幅图像的测试集的预测:
第三类:290 由于在建议模型之前没有共享数据,请尝试使用密集层-
如果模型拟合过度,则尝试减少密集层
model = Sequential()
model.add(Conv2D(32, kernel_size = (3, 3), activation='relu', input_shape=(height, width, num_channel)))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64, kernel_size=(3,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64, kernel_size=(3,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(32, kernel_size=(3,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(4, activation = 'softmax'))
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(height, width, num_channel)),
tf.keras.layers.Dense(1024, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(256, activation='relu'),
tf.keras.layers.Dropout(0.6),
tf.keras.layers.Dense(4, activation='softmax')
])