解决]CNN图像分类。它给我的预测总是一样的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决]CNN图像分类。它给我的预测总是一样的相关的知识,希望对你有一定的参考价值。

我是这个领域的新人,还在学习,如果被认为是愚蠢的问题,我很抱歉.所以最近我尝试使用Python和TensorFlow学习图像分类。我按照一些视频上的教程进行了学习。但是在我的代码中出现了一些问题,因为当我尝试我的模型时,验证损失往往会增加,而我的验证精度却一直在波动。当我尝试预测我的样本图像时,它一直给我相同的预测。我的数据集中的图像一共有730张。

这是我做预测的代码。

import cv2
import tensorflow as tf

CATEGORIES = ["Bike", "Car"]
IMAGE_SIZE = 50

def prepare(filepath):
    image_array = cv2.imread(filepath, cv2.IMREAD_GRAYSCALE)
    image_array = image_array/255.0
    new_image_array = cv2.resize(image_array, (IMAGE_SIZE,IMAGE_SIZE))
    return new_image_array.reshape(-1, IMAGE_SIZE, IMAGE_SIZE, 1)

model = tf.keras.models.load_model("prototype.model")

prediction = model.predict([prepare('car.jpg')])
print( CATEGORIES[int(prediction[0][0])] )

非常感谢你

答案

我曾经也遇到过类似的问题。既然你需要将图像分类为 "自行车 "或 "汽车",那么可以尝试将你的最终输出层改成。

model.add(Dense(2))
model.add(Activation('softmax'))

如果还是不行,请尝试 sparse_categorical_crossentropy 而不是作为你 loss.

以上是关于解决]CNN图像分类。它给我的预测总是一样的的主要内容,如果未能解决你的问题,请参考以下文章

在 keras 中使用 CNN 对图像进行二值分类时正确预测的总数

记录|深度学习100例-卷积神经网络(CNN)服装图像分类 | 第3天

深度学习100例-卷积神经网络(CNN)服装图像分类 | 第3天

深度学习100例-卷积神经网络(CNN)服装图像分类 | 第3天

使用 Keras 进行多类图像分类的多重预测

使用 CNN 的多类图像分类中的错误