【发布时间】:2021-04-27 21:57:16
【问题描述】:
我创建了一个用于二进制分类的 CNN 模型。 我使用了一个包含 300 张图像的平衡数据库。 我知道这是一个小型数据库,但我使用了数据增强。 拟合模型后,我在验证集上得到了 86% 的 val_accuracy,但是当我想打印每张图片的概率时,我得到第一类的大多数图片的概率 1,甚至所有概率都 > 0.5,所有概率都为 1第二课的图片。
这是我的模特
model = keras.Sequential([
layers.InputLayer(input_shape=[128, 128, 3]),
preprocessing.Rescaling(scale=1/255),
preprocessing.RandomContrast(factor=0.10),
preprocessing.RandomFlip(mode='horizontal'),
preprocessing.RandomRotation(factor=0.10),
layers.BatchNormalization(renorm=True),
layers.Conv2D(filters=64, kernel_size=3, activation='relu', padding='same'),
layers.MaxPool2D(),
layers.BatchNormalization(renorm=True),
layers.Conv2D(filters=128, kernel_size=3, activation='relu', padding='same'),
layers.MaxPool2D(),
layers.BatchNormalization(renorm=True),
layers.Conv2D(filters=256, kernel_size=3, activation='relu', padding='same'),
layers.Conv2D(filters=256, kernel_size=3, activation='relu', padding='same'),
layers.MaxPool2D(),
layers.BatchNormalization(renorm=True),
layers.Flatten(),
layers.Dense(8, activation='relu'),
layers.Dense(1, activation='sigmoid'),])
这是准确度图
谢谢大家
【问题讨论】:
-
image = preprocess_input(image) 是做什么的,我没有看到它的代码?
-
@GerryP 这是一个来自 tensorflow.keras.applications.imagenet_utils 的模块
标签: python tensorflow keras deep-learning computer-vision