繁体   English   中英

Tensorflow图像分类-输入图像的概率预测

[英]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.

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