Необходимо обучить нейронную сеть, способную по входному изображению лица определять пол человека на изображении.
При создании модели использовался набор данных из 100 тысяч изображений. Из которых 50 тысяч содержат изображения лиц женщин, 50 тысяч - изображения лиц мужчин. Для обучения модели использовалось по 45 тысяч изображений лиц каждого пола. К каждому изображению применяются преобразования: изменение размера до (32, 32) и нормализация к диапазону [-1, 1].
Модель представляет из себя сверточную нейросеть. В качестве метода итерации используется SGD. Функция активации - ReLU.
На тестовых данных из 5 тысяч изображений от каждого пола модель показала точность в 94%.
Пример вызова: python3 script.py folder/with/photos/.
Скрипт сохраняет файл process_results.json с результатами вида:
{'img1.jpg': 'male', 'img2.jpg': 'female', ...}.
Для тренировки нейросети необходимо разместить данные в папки
data/train/male и data/train/female. В файле sex_classification.ipynb
необходимо запустить вторую клетку с импортом библиотек, первую
клетку с объявлением переменных в блоке Data Processing, а
затем все клетки блока Model Training по порядку.