
- •Выпускная квалификационная работа
- •Задание на выполнение выпускной квалификационной работы (вкр)
- •Календарный план
- •Реферат
- •Содержание
- •Термины и определения
- •Перечень сокращений и обозначений
- •Введение
- •Обзор предметной области и анализ существующих решений
- •Обзор предметной области
- •Введение в предметную область
- •Классификация изображений
- •Классификация текста
- •Анализ существующих решений
- •Графические приложения на основе iPython
- •Обзор состояния науки о данных и машинного обучения
- •Выводы по разделу
- •Определение требований к разрабатываемому приложению
- •Требования к функциям
- •Функциональная структура приложения
- •Функции списка проектов
- •Функции проекта
- •Функции блоков кода
- •Функции блоков текста
- •Функции настроек приложения
- •Функции инструментов
- •Функции списка разделов
- •Функции раздела
- •Функции шаблона
- •Взаимодействие приложения со средой исполнения
- •Требования к эргономике и технической эстетике
- •Общие требования к внешнему виду
- •Требования по обработке исключительных ситуаций
- •Требования по вводу и контролю данных
- •Требования по организации экранных форм
- •Требования к техническому обеспечению
- •Выводы по разделу
- •Техническая реализация
- •Описание необходимых библиотек и разработанных модулей
- •Результаты разработки
- •Выводы по разделу
- •Демонстрация работы приложения
- •Обзор функций списка проектов
- •Функция списка проектов «Новый проект»
- •Функция списка проектов «Открыть проект»
- •Функция списка проектов «Сохранить проект»
- •Функция списка проектов «Дублировать текущий проект»
- •Функция списка проектов «Закрыть проект»
- •Функция списка проектов «Выход из программы»
- •Функция проекта «Остановить выполнение блоков»
- •Функция проекта «Перезапустить ядро»
- •Функция проекта «Очистить вывод выбранных блоков»
- •Функция проекта «Удалить выбранные блоки»
- •Классификация изображений
- •Классификация текста
- •Выводы по разделу
- •Заключение
- •Список использованных источников
- •Приложения приложение а. Модуль «app.Py»
- •Приложение б. Модуль «views/app_settings_window.Py»
- •Приложение в. Модуль «views/code_highlighter.Py»
- •Приложение г. Модуль «views/code_item.Py»
- •Приложение д. Модуль «views/text_item.Py»
- •Приложение е. Модуль «views/mainwindow.Py»
- •Приложение ж. Модуль «models/app_settings.Py»
- •Приложение и. Модуль «models/client.Py»
- •Приложение к. Модуль «models/code_execution.Py»
- •Приложение л. Модуль «models/project.Py»
- •Приложение м. Модуль «models/template.Py»
- •Приложение н. Файл настроек приложения «settings.Ini»
Календарный план
№ п/п |
Наименование этапов выпускной квалификационной работы (ВКР) |
Срок выполнения этапов ВКР |
Примечание |
1. |
Постановка цели выполнения ВКР и задач |
23.04.2022 |
|
2. |
Работа с теоретическим материалом |
23.04.2022 — 31.05.2022 |
|
3. |
Сбор информации, необходимой для написания работы |
|
|
4. |
Систематизация и обработка материалов ВКР |
|
|
5. |
Анализ полученных в работе результатов, обобщение |
|
|
6. |
Подготовка отчетных материалов, представляемых в государственную экзаменационную комиссию, доклада к защите и презентации |
01.06.2022 — 06.06.2022 |
|
7. |
Консультации с руководителем ВКР |
|
|
8. |
Представление выполненной ВКР руководителю для подготовки отзыва |
|
|
9. |
Подготовка к защите ВКР, включая подготовку к процедуре защиты и процедуру защиты |
|
Студент
(подпись)
Руководитель ВКР
(подпись)
Реферат
В выпускной квалификационной работе рассматривается тема «Разработка конструктора нейронных сетей».
Выпускная квалификационная работа содержит: 168 страниц, 147 рисунков, 10 таблиц, 12 приложений.
В первом разделе приведен обзор предметной области и существующих решений.
Во втором разделе сформулированы требования к приложению.
В третьем разделе приведены детали технической реализации.
В четвертом разделе продемонстрирована работа приложения.
КОНСТРУКТОР, НЕЙРОННЫЕ СЕТИ, КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ, КЛАССИФИКАЦИЯ ТЕКСТА
Методы проведения работы: метод обобщения, метод моделирования.
Результаты работы и новизна: создан инструмент для разработки нейронных сетей, который позволяет выполнять блоки кода на языке CPython, разделять и объединять проекты по средам исполнения, использовать пользовательские шаблоны, а также поддерживает исполнение всех возможных на CPython графических приложений за счет исполнения кода в естественной среде.
Области применения результатов: области, связанные с искусственным интеллектом.
Содержание
ВВЕДЕНИЕ 13
1 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ И АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ 15
1.1 Обзор предметной области 15
1.1.1 Введение в предметную область 15
1.1.2 Классификация изображений 16
1.1.3 Классификация текста 17
1.2 Анализ существующих решений 18
1.2.1 MATLAB Deep Learning Toolbox 18
1.2.2 Графические приложения на основе IPython 19
1.2.3 Neural Network Console WinAPP 23
1.2.4 Net Maker 24
1.2.5 Simbrain 25
1.3 Обзор состояния науки о данных и машинного обучения 26
1.4 Выводы по разделу 27
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К РАЗРАБАТЫВАЕМОМУ ПРИЛОЖЕНИЮ 29
2.1 Требования к функциям 29
2.1.1 Функциональная структура приложения 29
2.1.2 Функции списка проектов 30
2.1.3 Функции проекта 35
2.1.4 Функции блоков кода 38
2.1.5 Функции блоков текста 42
2.1.6 Функции настроек приложения 44
2.1.7 Функции инструментов 45
2.1.8 Функции списка разделов 46
2.1.9 Функции раздела 46
2.1.10 Функции шаблона 48
2.1.11 Взаимодействие приложения со средой исполнения 49
2.2 Требования к эргономике и технической эстетике 50
2.2.1 Общие требования к внешнему виду 50
2.2.2 Требования по обработке исключительных ситуаций 50
2.2.3 Требования по вводу и контролю данных 50
2.2.4 Требования по организации экранных форм 50
2.3 Требования к техническому обеспечению 51
2.4 Выводы по разделу 51
3 ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ 52
3.1 Описание необходимых библиотек и разработанных модулей 52
3.2 Результаты разработки 55
3.3 Выводы по разделу 59
4 ДЕМОНСТРАЦИЯ РАБОТЫ ПРИЛОЖЕНИЯ 60
4.1 Обзор функций списка проектов 60
4.1.1 Функция списка проектов «Новый проект» 62
4.1.2 Функция списка проектов «Открыть проект» 64
4.1.3 Функция списка проектов «Сохранить проект» 65
4.1.4 Функция списка проектов «Дублировать текущий проект» 66
4.1.5 Функция списка проектов «Закрыть проект» 68
4.1.6 Функция списка проектов «Выход из программы» 69
4.2 Обзор функций проекта 71
4.2.1 Функция проекта «Добавить блок кода» 71
4.2.2 Функция проекта «Добавить текстовый блок» 71
4.2.3 Функция проекта «Запустить выбранные блоки» 72
4.2.4 Функция проекта «Остановить выполнение блоков» 73
4.2.5 Функция проекта «Перезапустить ядро» 74
4.2.6 Функция проекта «Очистить вывод выбранных блоков» 74
4.2.7 Функция проекта «Удалить выбранные блоки» 75
4.3 Обзор функций блока кода 76
4.3.1 Функция блока кода «Запустить» 76
4.3.2 Функция блока кода «Остановить» 77
4.3.3 Функция блока кода «Удалить» 77
4.3.4 Функция блока кода «Скрыть/показать вывод» 78
4.3.5 Функция блока кода «Горячие клавиши» 79
4.3.6 Функция блока кода «Подсветка синтаксиса» 80
4.3.7 Функция блока кода «Запрос данных со стороны среды исполнения» 80
4.4 Обзор функций блока текста 85
4.4.1 Функция блока текста «Редактировать как HTML» 85
4.4.2 Функция блока текста «Редактировать как Markdown» 85
4.4.3 Функция блока текста «Обновить вид» 86
4.4.4 Функция блока текста «Удалить» 86
4.4.5 Функция блока текста «Вставить текст из буфера обмена как текст без форматирования» 87
4.4.6 Функция блока текста «Вставить текст из буфера обмена как HTML» 88
4.4.7 Функция блока текста «Вставить текст из буфера обмена как Markdown» 88
4.5 Обзор функций настроек приложения 89
4.5.1 Функция настроек приложения «Шрифт заголовков» 89
4.5.2 Функция настроек приложения «Шрифт блоков текста» 90
4.5.3 Функция настроек приложения «Шрифт блоков кода» 90
4.5.4 Функция настроек приложения «Перечитать файл настроек» 91
4.6 Обзор функций инструментов 92
4.6.1 Функция инструментов «Выбор цвета» 92
4.6.2 Функция инструментов «Выбор файлов» 93
4.7 Обзор функций списка разделов 94
4.7.1 Функция списка разделов «Добавить раздел» 94
4.7.2 Функция списка разделов «Обновить все разделы с шаблонами» 95
4.8 Обзор функций раздела 96
4.8.1 Функция раздела «Добавить шаблон по выбранным блокам в раздел» 96
4.8.2 Функция раздела «Удалить раздел со всеми шаблонами» 97
4.9 Обзор функций шаблона 98
4.9.1 Функция шаблона «Обновить шаблон по выбранным блокам» 98
4.9.2 Функция шаблона «Изменить название шаблона» 99
4.9.3 Функция шаблона «Удалить шаблон» 99
4.10 Расширение интерпретатора 100
4.11 Классификация изображений 101
4.12 Классификация текста 111
4.13 Выводы по разделу 117
ЗАКЛЮЧЕНИЕ 118
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 119
ПРИЛОЖЕНИЯ 121
ПРИЛОЖЕНИЕ А. Модуль «app.py» 121
ПРИЛОЖЕНИЕ Б. Модуль «views/app_settings_window.py» 121
ПРИЛОЖЕНИЕ В. Модуль «views/code_highlighter.py» 123
ПРИЛОЖЕНИЕ Г. Модуль «views/code_item.py» 125
ПРИЛОЖЕНИЕ Д. Модуль «views/text_item.py» 130
ПРИЛОЖЕНИЕ Е. Модуль «views/mainwindow.py» 134
ПРИЛОЖЕНИЕ Ж. Модуль «models/app_settings.py» 151
ПРИЛОЖЕНИЕ И. Модуль «models/client.py» 154
ПРИЛОЖЕНИЕ К. Модуль «models/code_execution.py» 158
ПРИЛОЖЕНИЕ Л. Модуль «models/project.py» 167
ПРИЛОЖЕНИЕ М. Модуль «models/template.py» 169
ПРИЛОЖЕНИЕ Н. Файл настроек приложения «settings.ini» 171