You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:19:37