如何在张量流中获得每个类别的概率?图像分类器

时间:2020-03-25 18:02:43

标签: tensorflow keras

所以我有以下代码

PATH = 'ToPredictIMG/dogs/1200px-Dog_for_Senior_Dog_Food_Diet_Wikipedia_Page.jpg'
img = image.load_img(PATH,
    target_size=(150, 150))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
images = np.vstack([x])
model.predict_proba(images, batch_size=1)


Out[122]:
array([[695.1686]], dtype=float32)

现在我选择了任意图像,并尝试对其进行分类(并使用期望的模型来返回属于每个类别的图像的概率),所以我做到了

predictIMG = ImageDataGenerator(rescale=1./255)
PATH = '/ImageClassifier/ToPredictIMG'
predictIMG_gen = predictIMG.flow_from_directory(directory=PATH,
                                                           shuffle=True,
                                                           target_size=(IMG_HEIGHT, IMG_WIDTH),
                                                           class_mode='binary')

虽然我期望一个二维子数组,其中包含图像的概率属于狗类和猫类。

出了什么问题?


我也尝试过这种情况(在这种情况下为4张图片)

model.predict_proba(predictIMG_gen,batch_size=None)

Output: array([[ 1.6341457],
       [ 2.7946496],
       [-6.4226017],
       [ 5.3173203]], dtype=float32)

然后

model.predict(predictIMG_gen,batch_size=None)

Output: array([[ 5.3173203],
           [ 1.6341457],
           [-6.4226017],
           [ 2.7946496]], dtype=float32)

还有这个

angular.module('myApp', [
  'ui.router'
])
.config(function($stateProvider) {
  $stateProvider
    .state({
      name: 'product',
      url: '/product/{id}', //{id} or :id will tell it to expect the param
      templateUrl: '/products/index.html',
      controller: 'ProdCtrl'
    });
});

那又是什么问题?

0 个答案:

没有答案