ValueError: Вход 0 уровня sequencetial_3 несовместим со слоем: - PullRequest
0 голосов
/ 20 июня 2020

Я начал изучать глубокое обучение через несколько дней go, так что я мало что знаю об этом. Я следовал практике модели CNN, которая классифицирует собак и кошек с помощью Inception V3. Обучение модели и сохранение прошли успешно, и я хочу предсказать, на картинке изображена собака или кошка. Я так и сделал, но все равно получаю ту же ошибку.

ValueError: Input 0 of layer sequential_3 is incompatible with the layer:  
expected axis -1 of input shape to have value 2048 
but received input with shape [None, 224, 224, 3]
# load and prepare the image
def load_image(filename):
    # load the image
    img = load_img(filename, target_size=(224, 224))
    # convert to array
    img = img_to_array(img)
    # reshape into a single sample with 3 channels
    img = img.reshape(1, 224, 224, 3)
    # center pixel data
    img = img.astype('float32')
    img = img - [123.68, 116.779, 103.939]
    return img
# load an image and predict the class
def run_example():
    # load the image
    img = load_image('sample_image.jpg')
    # load model
    model = load_model('model_fin.h5')
    # predict the class
    result = model.predict(img)
    print(result[0])
 
run_example()
extractor = Sequential()
extractor.add(InceptionV3(include_top=False, weights='imagenet', input_shape=IMG_SIZE))
extractor.add(layers.GlobalAveragePooling2D())

extractor_output_shape = extractor.get_output_shape_at(0)[1:]

model = Sequential()
model.add(layers.InputLayer(input_shape=extractor_output_shape))

model.add(layers.Dense(2, activation='sigmoid'))

model.summary()

Я так старался решить эту проблему, но не смог найти причину . Буду очень признателен за вашу помощь.

1 Ответ

0 голосов
/ 20 июня 2020
IMG_size = (224,224,3)
extractor.add(InceptionV3(include_top=False, weights='imagenet', input_shape=IMG_SIZE)

Это должно быть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...