【问题标题】:I trained a small data set cat and dog classification model, but I predict the new picture will only output two values, or 1 or 0我训练了一个小数据集猫狗分类模型,但是我预测新图片只会输出两个值,或者1或者0
【发布时间】:2017-04-06 05:46:10
【问题描述】:

我已经训练了一个猫狗分类模型的小数据集,但是我预测新的图片只会输出两个值,或者 1 或者 0。

代码预测代码

from keras.models import load_model
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input, 
decode_predictions
import numpy as np

img_path = 'mitosis.140.jpg'
img = image.load_img(img_path, target_size=(150, 150))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)

model =load_model('mitosis_.h5')


classes = model.predict_classes(x)

print classes

我的预测

【问题讨论】:

  • 那你的问题是什么?
  • 我的问题是:我认为我的预测代码是错误的,正确的结果不应该告诉我输入的图片是猫还是狗的概率很大,我不明白是什么输出1或0的含义

标签: python keras predict


【解决方案1】:

您正在使用函数predict_classes()。正如它清楚地表明的那样,它预测类。

因此尝试:

probs = model.predict(x)

【讨论】:

  • 谢谢你的回答,我试过了,但是不管我输入什么图片,predict results总是1,是不是我的代码有问题?
  • 在你的问题中你说你有时会得到 0 ......它改变了吗?
  • 我知道我的问题了,我用的是猫狗训练的分类模型,并且已经在标签上加了下载数据,猫的标签是0,狗的标签是1,所以输出是代表分类结果,谢谢
猜你喜欢
  • 1970-01-01
  • 2020-07-11
  • 2015-10-25
  • 2021-07-23
  • 1970-01-01
  • 2020-10-22
  • 2021-03-09
  • 2020-07-10
  • 2010-11-23
相关资源
最近更新 更多