Похожие презентации:
Решение задач классификации изображений с помощью нейросетевых технологий, используя модуль Keras библиотеки Тensorflow
1.
ИНСТИТУТ РАЗВИТИЯ ОБРАЗОВАНИЯ ОРЕНБУРГСКОЙ ОБЛАСТИДЕТСКИЙ ТЕХНОПАРК «КВАНТОРИУМ»
Решение задач классификации изображений с помощью
нейросетевых технологий,
используя модуль KERAS библиотеки TENSORFLOW
Руководитель:
кандидат физ.-мат. наук, доцент каф. прикладной
математики ОГУ
Луговскова Ю.П.
Выполнил:
ИРО ДТ “КВАНТОРИУМ”
Янель И. С.
Оренбург 2025
2. Введение
Целью работы является исследование библиотек в средепрограммирования python для решения задач компьютерного
зрения и классификации изображений
В соответствии с поставленной целью необходимо решить
следующие задачи:
1)изучить основные модули, функции, реализуемые
библиотеками NumPy, Pandas, Matplotlib, TensorFlow;
2) рассмотреть использование представленных библиотек на
примере работы с данными в виде картинок при решении задач
классификации с использованием нейросетевой технологии;
3) провести исследования определения класса чёрно-белых
картинок на примере задач распознания рукописных цифр и
видов одежды.
2
3. Задачи классификации
Карта машинного обученияЗадачи классификации
В контексте исследовательской работы
рассмотрен
метод
классического
машинного обучения с учителем, на
примере решения задач классификации.
Задачей
классификации
часто
называют предсказание категориальной
зависимой переменной от независимых
признаков,
характеризующие
объекты.
Зависимая
переменная,
являющаяся категорией, определяется
меткой класса.
3
4.
Основные библиотеки pythonSeaborn
Matplotlib
(визуализации данных)
NumPy(Алгебраический
пакет работы с
числовыми данными
Pandas( пакет для
работы с данными
разных категорий)
TensorFlow; Keras
(создание и обучение
нейронных сетей)
Для инсталляции библиотек Python используют команду: pip install … (библиотека, которую нужно установить). Для
импорта обычно используют код: import … (необходимая библиотека) as … (как будем обращаться к этой библиотеке,
для упрощения чтения кода)
4
5. Данные по цифрам
В этих данных хранятсянарисованные от руки
цифры и значения этих цифр
Работая с этими данными, мы
будем использовать основные
библиотеки, с которыми мы
знакомы
Объекты: 70000 черно-белых картинок размера 28*28;
Выходной признак объектов: 10 классов, определяемые
меткой номе цифры, изображенной на картинке; Входные признаки
объектов: 28*28= 784 признака, каждый из которых определяется
значением от 0 до 255, отражающего яркость картинки
6. Данные по одежде
В этих данных хранятся изображенияодежды и название класса для каждого
изображения (0. Футболка/топ 1. Брюки
2. Свитер 3. Платье 4. Пальто
5. Сандалии 6. Рубашка 7. Кроссовки
8. Сумка .9 Ботинки
Работая с этими данными, мы будем
использовать основные библиотеки,
с которыми мы знакомы
Объекты: 70000 черно-белых картинок размера 28*28;
Выходной признак объектов: 10 классов, определяемые
меткой номе цифры, изображенной на картинке; Входные признаки
объектов: 28*28= 784 признака, каждый из которых определяется
значением от 0 до 255, отражающего яркость картинки
7.
78. Pandas
Pandas — программная библиотека наязыке Python для обработки и анализа
данных. Предоставляет специальные
структуры данных и операции для
манипулирования числовыми
таблицами и временными рядами.
8
9. Tensorflow; Keras
Keras — открытая библиотека, написанная наязыке Python и обеспечивающая взаимодействие
с искусственными нейронными сетями. Нацелена на
оперативную работу с сетями глубинного обучения,
при этом спроектирована так, чтобы быть
компактной, модульной и расширяемой
9
10.
Импортданных:
Импортируем
библиотеки
Numpy,
Pandas,
TenserFlow.ke
ras, Matplotlib
10
11. Информация о данных
Скачиваем данныеоб одежде
Смотрим какое
количество данных
пойдёт на обучение
сети и тест. На тест
пойдёт 10000
изображений, на
обучение 60000
изображений
11
12. Информация о данных
Визуализируем первые 25 изображений с помощьюфункций библиотеки Matplotlib
12
13. Обработка данных
Преобразуем данные ввектор размером 784 и
выведем их рядом с
исходными.
Далее центрируем и
нормируем данные чтобы
сети было проще учиться.
Преобразуем метки
классов y_train и y_val в
формат One-hot
13
14. Создание архитектуры
Создаём архитектурумодели, настраиваем
скрытые слои, в них будут
использоваться основные
слои(Flatten, Dense),
свёрточные (Conv2D) и
пулинг (MaxPool2D) слои
14
15. Обучение модели
Компилируем модель,настраивая оптимизатор
‘adam’, метрику качества
классификатора ‘accuracy’
Обучаем модель на
данных на 15 эпохах
15
16. Результаты обучения
1617. Результаты обучения
В итоге обучения мы получилидовольно высокое “accuracy”, на 15
эпохе этот параметр составил 0.97, как
показано на графике эффекта
переобучения не произошло,
“accuracy” только рос. Также параметр
“val_ accuracy”, показывающий
точность работы модели на тестовых
данных не сильно отличается от
“accuracy”, это значит что модель
работает не только на обучении, но и
на тренировочных данных.
17
18. Результаты обучения сети на данных с цифрами
На примере с цифрами сеть работаетлучше, ведь ей проще обучаться с
цифрами, “accuracy” составил 0,996,
что очень хорошо, сеть практически
безошибочно определяет значение
цифры
18
19. Результаты обучения
1920. Результаты обучения
В итоге обучения мы получилидовольно высокое “accuracy”, на 15
эпохе этот параметр составил 0.97, как
показано на графике эффекта
переобучения не произошло,
“accuracy” только рос. Также параметр
“val_ accuracy”, показывающий
точность работы модели на тестовых
данных не сильно отличается от
“accuracy”, это значит что модель
работает не только на обучении, но и
на тренировочных данных.
20
21. Вывод:
Мы рассмотрели использование представленных библиотек на примереработы с данными по цифрам и одежде. Создали нейронную сеть,
которая довольно хорошо разбивала входные данные на классы.
Рассмотрели все этапы создания сети визуализацию поданным.
21
Информатика