[Keras Filling the Pit Tour] · Влияние использования img_to_array на классификацию изображений

искусственный интеллект Python

[Keras Filling the Pit Tour] · Влияние использования img_to_array на классификацию изображений

 

1. Введение

В задаче использования keras для классификации изображений первоначальный метод автора заключается в использовании библиотеки opencv cv2.imread для чтения фотографий, а затем с помощью cv2.resize для сброса размера. После обучения на чужом коде обнаруживается, что результаты аналогичных кодов сильно отличаются. У других val_acc может быть на несколько процентов выше, чем у меня. Сравните и обнаружите, что в коде других людей есть еще один шаг:

feature = img_to_array(feature)

Итак, автор провел следующий эксперимент: управлять другими кодами без изменений, параметры остаются без изменений, соответственно обучать и использоватьimg_to_arrayЕсть неиспользуемые сети.

 

2. Экспериментальные результаты

Код чтения выглядит следующим образом, не используйтеimg_to_arrayКогда, замаскируйте заявление

def get_feature(path):
    image = cv2.imread(path)
    feature = cv2.resize(image,(IMAGE_DIMS[0],IMAGE_DIMS[1]))
    feature = img_to_array(feature)
    return(feature/255.0)

1. img_to_array не используется

2. Используйте img_to_array

Как видно из вышеизложенного, следует ли использоватьimg_to_arrayЭто сильно влияет на производительность сети, после его использования val_acc и val_loss становятся ближе к тренировочным acc и loss.

Автор использует как официальные итераторы картинок Keras, так и собственноручно написанные итераторы, мы сделали вышеуказанные выводы.

По сравнению с официальным итератором и итератором, написанным вручную, официальная производительность будет лучше.

3. Заключение и анализ

Из приведенных выше экспериментов можно сделать вывод, что следует ли использоватьimg_to_arrayВлияние на сеть по-прежнему велико.Использование его может повысить производительность обучающей сети.Настоятельно рекомендуется использовать его при выполнении задач классификации изображений.img_to_array.

Почему это так?

Причина анализа может заключаться в том, что Keras по-разному обрабатывает чтение изображений при обучении и предсказании, и добавление img_to_array сократит разрыв. Более глубокие причины будут проанализированы позже в ходе экспериментов. Также приветствуем больших парней, чтобы помочь указать, большое спасибо. .