Базовый алгоритм: классификация.
Задание: на вход поступает два изображения: на вход поступает изображение, которое преобразуется в нужный для обработки моделью нейронной сети формат (тензор), выполняется предобработка (при необходимости – изменение размера и нормирование), затем обрабатывается с помощью нейронной сети и выводится результат (номер класса, название, вероятность для первых 5-ти наиболее вероятных классов).
Задачи:
Для решения задачи классификации изображений используются сверточные нейронные сети. Набор изображений следующий:


















































На вход подавались 50 фотографий (скачаны с сети Интернет и сделаны самостоятельно). На выходе алгоритм выдавал изображение, которое классифицировалось, и 5 вероятностей отнесения фотографии к определенному классу. Работа велась в Google Collab, при этом не использовались аппаратные ускорители.
Вычисление памяти:
from memory_profiler import memory_usage
print(memory_usage())
Архитектура | CPU times | Wall time | Память | Top1 | Top5 |
---|---|---|---|---|---|
AlexNet | 77.3 ms | 82.7 ms | 759.9296875 | 78% | 96% |
ResNet50 | 459 ms | 387 ms | 1335.67578125 | 84% | 96% |
VGG16 | 2080 ms | 1880 ms | 1820.46875 | 86% | 94% |