Использование model.predict в распознавании лиц

У меня есть код на GitHub с обучением модели и последующим распознаванием лица с камеры. Но есть проблема с методом model.predict_proba. Если запустить так, то выдает ошибку

'Sequential' object has no attribute 'predict_proba' 

Пробовал менять на model.predict, но выдает другую ошибку

ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 64, 64, 3), found shape=(None, 100, 3)

Мне подсказали уже, что я передаю изображение с shape (100, 3), а модель ожидает shape (64, 64, 3). И я не могу понять, почему так происходит.

Может быть кто-то в курсе почему так?


Ответы (1 шт):

Автор решения: Legat

В файле load_dataset.py

Находится следующий код

# Считать данные обучения по указанному пути
def load_dataset(path_name):
    images,labels = read_path(path_name)    
    
    # Преобразуем все входные изображения в четырехмерный массив, размер (количество изображений * IMAGE_SIZE * IMAGE_SIZE * 3)
    # Картинка 64 * 64 пикселя, у одного пикселя 3 значения цвета (RGB)
    images = np.array(images)
    print(images.shape)    
    
    # Данные аннотации, в папке 'data' находятся все изображения лиц, все обозначены как 0, другая папка находится там же, все обозначены как 1
    labels = np.array([0 if label.endswith('Mark') else 1 for label in labels])
    #labels = np.array(labels)   
    
    return images, labels

Вы можете использовать этот код, чтобы преобразовать свое входное изображение в нужную форму "Картинка 64 * 64 пикселя, у одного пикселя 3 значения цвета (RGB)"

→ Ссылка