Я новичок в машинном обучении и просто реализую начальную версию v3 с использованием весов ImageNet. Это мой первый заезд на нем. Моя реализация находится в Керасе. Все мои прогнозы неверны, и мне нужно немного подняться, чтобы увидеть, в чем проблема. На самом деле довольно сложно найти пример использования inception-v3 сверху вниз с использованием Keras в Интернете. Большинство из них представляют собой учебные пособия по трансферному обучению. Вот мой код.
import keras as k
from keras.applications.inception_v3 import InceptionV3
from keras.applications.imagenet_utils import preprocess_input, decode_predictions
from keras.preprocessing import image
import cv2
import numpy as np
model = k.applications.inception_v3.InceptionV3(include_top=True, weights='imagenet', input_tensor=None, input_shape=None)
im = 'images/cat.jpg'
cv2.imread(im).shape
(168, 299, 3)
im = cv2.resize(cv2.imread(im), (299, 299)).astype(np.float32)
im = np.expand_dims(im, axis=0)
im.shape
(1, 299, 299, 3)
preds = model.predict(im)
print('Predicted:', decode_predictions(preds
Прогноз: [[('n03047690', 'засор', 1.0), ('n01924916', 'плоский червь', 7.0789714e-11), ('n03950228', 'кувшин', 2.1705252e-11), ('n02841315' , 'бинокль', 4.1622389e-13), ('n06359193', 'web_site', 3.8697981e-16)]]
Может ли кто-нибудь подсказать, как эта самая основная реализация неверна. Возможно, моя форма ввода неверна?