繁体   English   中英

CNN 图像分类:它总是给我相同的预测

[英]CNN Image Classification: It gives me always the same prediction

我是这个领域的新手,还在学习,如果它被认为是愚蠢的问题,我很抱歉。 所以最近我尝试使用 Python 和 TensorFlow 来学习图像分类。 我遵循了一些视频的教程。 但是我的代码有一些问题,因为当我尝试我的 model 时,验证损失趋于增加,而我的验证准确度一直在波动。 当我试图预测我的样本图像时,它一直给我同样的预测。 我的数据集中的图像总共有 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])] )

太感谢了。

我曾经遇到过类似的问题。 由于您需要将图像分类为“自行车”或“汽车”,请尝试将最终的 output 图层更改为,

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

如果它仍然不起作用,请尝试sparse_categorical_crossentropy作为你的loss

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM