[英]Tensorflow image classification - Probability prediction for input images
我已经使用Keras训练了我的模型以使用tensorflow进行图像分类,这是我的模型试图预测输入图像的代码。
import numpy as np
from keras.preprocessing import image
test_image = image.load_img('C:/Python/3.png', target_size = (64, 64))
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis = 0)
result = classifier.predict(test_image)
training_set.class_indices
if result[0][0] == 1.0:
prediction = 'Anthracite'
if result[0][0] == 2.0:
prediction = 'Bituminous'
if result[0][0] == 3.0:
prediction = 'Lignite'
else:
prediction = 'Peat'
基本上,我正在研究图像分类问题,其中我通过给出4种类型的煤来训练我的模型,并且由于我用25个纪元训练了我的模型,所以我的预测几乎达到了80%完美。
我需要的是每种煤的概率,如果我的预测说:褐煤,它还应该告诉我褐煤的准确性概率,对此需要帮助。
此修改将为您提供给定图像的每个类的概率。
classifier.add(Conv2D(32, (3, 3), input_shape = (64, 64, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Flatten())
classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 4, activation = 'softmax'))
classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
在这里,您需要使用one hot encoding
和互熵作为损失函数进行训练。
然后,在测试期间,如果您通过图像,您将获得一个输出向量(4个维度),每个向量代表图像属于其各自类别的概率。
转换为一键编码: keras.utils.to_categorical
函数将有所帮助。
您可以使用classifier.predict_proba
api。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.