CNN车辆分类模型验证精度异常偏高的原因排查咨询
CNN车辆分类模型验证精度异常偏高的原因排查咨询
我正在为一个车辆分类任务搭建并优化CNN模型,使用的是一个车辆类型图像数据集。但我发现一个很奇怪的情况——用非常简单的基线模型居然得到了高得离谱的精度,我担心是不是数据加载环节出了问题导致了数据泄露,想请教大家帮忙排查一下。
数据加载代码
batch_size = 16 img_size = (64, 64) train_dataset, val_dataset = tf.keras.utils.image_dataset_from_directory( data_dir, label_mode='categorical', seed=1, subset='both', validation_split=0.2, image_size=img_size, batch_size=batch_size, ) normalization_layer = Rescaling(1./255) train_dataset = train_dataset.map(lambda x, y: (normalization_layer(x), y)) val_dataset = val_dataset.map(lambda x, y: (normalization_layer(x), y))
基线模型构建代码
def baseline_model(input_shape=[64, 64, 3]): model = Sequential([ # 1st Conv Layer Conv2D(filters=16, kernel_size=(3, 3), activation='relu', padding='valid', input_shape=input_shape), # Pool Layer MaxPooling2D((2, 2)), # 2nd Conv Layer Conv2D(filters=32, kernel_size=(3, 3), activation='relu', padding='valid'), # Pool Layer MaxPooling2D((2, 2)), # Flatten Flatten(), # Fully connected layer Dense(64, activation='relu'), Dense(5, activation='softmax') ]) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy', Precision(name='precision'), Recall(name='recall')]) return model baseline_model = baseline_model()
模型训练代码
history = baseline_model.fit( train_dataset, epochs=10, validation_data=val_dataset, #callbacks=[ConfusionMatrixCallback(val_dataset, class_names)] ) plot_training_history(history)
训练得到的精度与损失曲线如下:
备注:内容来源于stack exchange,提问作者GandarfTheWhite
相关产品推荐
相关产品推荐

