我创建了一个cnn模型来分类一辆车是否完全失事。我使用了一个平衡的数据库,248个用于培训,76个用于验证。我知道这是一个小数据库,但我使用了数据扩充。在对模型进行拟合之后,我在验证集上得到了86%的val\ U准确率,但是当我想使用make\ U预测函数(请查找下面的代码)打印每张图片的概率时,我得到了大多数完全失事汽车图片的概率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'),])
这是精确图
这是make预测函数的结果:
def make_predictions(image_path):
preds=[]
for img in os.listdir(image_path):
image = image_utils.load_img(image_path+img, target_size=(128,128))
image = image_utils.img_to_array(image)
image = image.reshape(1,128,128,3)
image = preprocess_input(image)
preds.append(model.predict(image))
return preds
[
谢谢你们
暂无答案!
目前还没有任何答案,快来回答吧!