解决]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天