我是一名 ML 初学者,只是使用 ImageNet 权重实现 inception-v3。这是我第一次尝试它。我的实现是在 Keras 中。我的预测都是错误的,我需要站起来,看看问题出在哪里。实际上很难找到使用 Keras 在线从上到下使用的 inception-v3 示例。大多数是关于迁移学习的教程。这是我的代码。
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', 'clog', 1.0), ('n01924916', '扁虫', 7.0789714e-11), ('n03950228', '投手', 2.1705252e-11), ('n02841315' , '双筒望远镜', 4.1622389e-13), ('n06359193', 'web_site', 3.8697981e-16)]]
有人可以建议这个最基本的实现是如何错误的。也许我的输入形状不正确?