
Содержание ВКР / ВКР 2022 (с приложениями). Коваленко Л.А. Разработка конструктора нейронных сетей
.pdf
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Факультет |
|
ИКСС |
|
|
|
|
|
|
|
||||
Кафедра |
|
ПИВТ |
|
|
|
|
|
|
|
||||
|
|
|
Допустить к защите |
||||||||||
|
|
|
Заведующий кафедрой |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
(подпись) |
(Ф.И.О.) |
||||||||
« |
|
» |
|
|
|
|
|
|
г. |
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Разработка конструктора нейронных сетей
(тема ВКР)
Направление/специальность подготовки 09.03.04 Программная инженерия
(код и наименование направления/специальности)
Направленность (профиль)
Разработка программного обеспечения
инфокоммуникационных сетей и систем
|
(наименование) |
|
||
Квалификация |
|
Бакалавр |
|
|
|
(наименование квалификации в соответствии с ФГОС ВО) |
|
||
|
|
Студент: |
|
|
|
|
Коваленко Л.А., ИКПИ-84 |
|
|
|
|
(Ф.И.О., № группы) |
(подпись) |
|
|
|
Научный руководитель: |
|
|
|
|
к.т.н., доцент Белая Т.И. |
|
|
|
|
(учёная степень, учёное звание, Ф.И.О.) |
(подпись) |
Санкт-Петербург, 2022

работа написана мной самостоятельно
работа не содержит неправомерных заимствований
работа может быть размещена в электронно-библиотечной системе университета
(дата) |
(подпись) |
(Ф.И.О. студента) |
Текст ВКР размещен в электронно-библиотечной системе университета.
Руководитель отдела комплектования библиотеки
|
|
(Ф.И.О.) |
|
|
|
(дата) |
|
(подпись) |
Коэффициент оригинальности ВКР %.
Проверил:
|
(должность, Ф.И.О.) |
(дата) |
(подпись) |

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Факультет |
ИКСС |
|
Кафедра |
ПИВТ |
Направление (специальность) |
09.03.04 Программная инженерия |
(код и наименование)
Утверждаю:
Зав. кафедрой
|
|
|
(Ф.И.О., подпись) |
|||
« |
|
» |
|
20 г. |
||
|
|
|
|
|
|
|
ЗАДАНИЕ на выполнение выпускной квалификационной работы (ВКР)
1. |
Студент |
Коваленко Леонид Александрович |
№ группы ИКПИ-84 |
||||
|
|
|
|
|
|
(фамилия, имя, отчество) |
|
2. |
Руководитель |
|
Белая Татьяна Иоанновна, к.т.н., доцент |
||||
|
|
|
|
|
|
(фамилия, имя, отчество, должность, уч. степень и звание) |
|
|
|
|
|
|
|
||
3. |
Квалификация |
|
Бакалавр |
|
|||
|
|
|
|
|
|
(наименование в соответствии с ФГОС ВО) |
|
4. Тема ВКР |
|
Разработка конструктора нейронных сетей |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
утверждена приказом ректора университета от «14» апреля 2022 г. №407/КС
5. Исходные данные (технические требования): интерпретатор CPython, библиотека графических элементов PySide6, библиотека python-slugify
для транслитерации Unicode-символов в ASCII
6. Содержание работы (анализ состояния проблемы, проведение исследований, разработка, расчеты параметров, экономическое обоснование и др.):
Введение,
Обзор предметной области и анализ существующих решений,
Определение требований к разрабатываемому приложению,
Техническая реализация,
Демонстрация работы приложения

7. Вид отчетных материалов, представляемых в ГЭК (пояснительная записка, перечень графического материала, отчет о НИР, технический проект, образцы и др.) пояснительная записка, презентация, приложения
8. Консультанты по ВКР с указанием относящихся к ним разделов
Раздел |
|
|
Консультант |
|
|
Подпись, дата |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
Задание выдал |
Задание принял |
|||||||||||
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Обзор |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
предметной |
|
|
Белая Т.И., |
|
|
|
|
|
|
|
|
|||
области и анализ |
|
|
|
|
|
|
|
|
|
|
||||
|
|
к.т.н., доцент |
|
|
|
|
|
|
|
|
||||
существующих |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
решений |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Определение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
требований к |
|
|
Белая Т.И., |
|
|
|
|
|
|
|
|
|||
разрабатываемому |
|
|
к.т.н., доцент |
|
|
|
|
|
|
|
|
|||
приложению |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Техническая |
|
|
Белая Т.И., |
|
|
|
|
|
|
|
|
|||
реализация |
|
|
к.т.н., доцент |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Демонстрация |
|
|
Белая Т.И., |
|
|
|
|
|
|
|
|
|||
работы |
|
|
|
|
|
|
|
|
|
|
||||
|
|
к.т.н., доцент |
|
|
|
|
|
|
|
|
||||
приложения |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дата выдачи задания « |
|
» |
|
|
|
|
|
|
20 |
|
г. |
|||
Дата представления ВКР к защите « |
» |
|
20 |
|
г. |
|||||||||
Руководитель ВКР |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
(подпись) |
|
|
|
|
|
Студент
(подпись)

КАЛЕНДАРНЫЙ ПЛАН
№ |
Наименование этапов выпускной |
Срок выполнения |
Примечание |
|
п/п |
квалификационной работы (ВКР) |
этапов ВКР |
||
|
||||
1. |
Постановка цели выполнения |
23.04.2022 |
|
|
|
ВКР и задач |
|
||
|
|
|
||
2. |
Работа с теоретическим |
|
|
|
|
материалом |
|
|
|
3. |
Сбор информации, необходимой |
23.04.2022 |
|
|
|
для написания работы |
|
||
|
— |
|
||
4. |
Систематизация и обработка |
|
||
31.05.2022 |
|
|||
|
материалов ВКР |
|
||
|
|
|
||
5. |
Анализ полученных в работе |
|
|
|
|
результатов, обобщение |
|
|
|
6. |
Подготовка отчетных материалов, |
|
|
|
|
представляемых в |
|
|
|
|
государственную |
|
|
|
|
экзаменационную комиссию, |
|
|
|
|
доклада к защите и презентации |
|
|
|
7. |
Консультации с руководителем |
01.06.2022 |
|
|
|
ВКР |
— |
|
|
8. |
Представление выполненной ВКР |
06.06.2022 |
|
|
|
руководителю для подготовки |
|
|
|
|
отзыва |
|
|
|
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 ..................................................................... |
Функции блоков кода |
39 |
2.1.5 .................................................................. |
Функции блоков текста |
43 |
2.1.6 ..................................................... |
Функции настроек приложения |
44 |
2.1.7 .................................................................. |
Функции инструментов |
45 |
2.1.8 .............................................................. |
Функции списка разделов |
46 |
2.1.9 ............................................................................. |
Функции раздела |
47 |
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 |
Результаты разработки............................................................................. |
54 |
|
|
3.3 |
Выводы по разделу ................................................................................... |
58 |
|
4 |
ДЕМОНСТРАЦИЯ РАБОТЫ ПРИЛОЖЕНИЯ ......................................... |
59 |
||
|
4.1 |
Обзор функций списка проектов ............................................................ |
59 |
|
|
4.1.1 |
Функция списка проектов «Новый проект» ................................. |
61 |
|
|
4.1.2 |
Функция списка проектов «Открыть проект».............................. |
63 |
|
|
4.1.3 |
Функция списка проектов «Сохранить проект» .......................... |
64 |
|
|
4.1.4 |
Функция списка проектов «Дублировать текущий проект» ...... |
65 |
|
|
4.1.5 |
Функция списка проектов «Закрыть проект» .............................. |
67 |
|
|
4.1.6 |
Функция списка проектов «Выход из программы»..................... |
68 |
|
|
4.2 |
Обзор функций проекта ........................................................................... |
70 |
|
|
4.2.1 |
Функция проекта «Добавить блок кода» ...................................... |
70 |
|
|
4.2.2 |
Функция проекта «Добавить текстовый блок» ............................ |
70 |
|
|
4.2.3 |
Функция проекта «Запустить выбранные блоки» ....................... |
71 |
|
|
4.2.4 |
Функция проекта «Остановить выполнение блоков» ................. |
72 |
|
|
4.2.5 |
Функция проекта «Перезапустить ядро»...................................... |
73 |
|
|
4.2.6 |
Функция проекта «Очистить вывод выбранных блоков»........... |
73 |
|
|
4.2.7 |
Функция проекта «Удалить выбранные блоки» .......................... |
74 |
|
|
4.3 |
Обзор функций блока кода ...................................................................... |
75 |
|
|
4.3.1 |
Функция блока кода «Запустить».................................................. |
75 |
|
|
|
|
8 |
|
4.3.2 Функция блока кода «Остановить»............................................... |
76 |
|
4.3.3 Функция блока кода «Удалить» .................................................... |
76 |
|
4.3.4 Функция блока кода «Скрыть/показать вывод» .......................... |
77 |
|
4.3.5 |
Функция блока кода «Горячие клавиши»..................................... |
78 |
4.3.6 |
Функция блока кода «Подсветка синтаксиса»............................. |
79 |
4.3.7Функция блока кода «Запрос данных со стороны среды
исполнения»................................................................................................... |
79 |
4.4 Обзор функций блока текста ................................................................... |
84 |
4.4.1 Функция блока текста «Редактировать как HTML».................... |
84 |
4.4.2 Функция блока текста «Редактировать как Markdown» ............. |
84 |
4.4.3 Функция блока текста «Обновить вид» ........................................ |
85 |
4.4.4 Функция блока текста «Удалить» ................................................. |
85 |
4.4.5Функция блока текста «Вставить текст из буфера обмена как
текст без форматирования».......................................................................... |
86 |
4.4.6Функция блока текста «Вставить текст из буфера обмена как
HTML» ........................................................................................................... |
87 |
4.4.7Функция блока текста «Вставить текст из буфера обмена как
Markdown» ..................................................................................................... |
87 |
|
4.5 |
Обзор функций настроек приложения ................................................... |
88 |
4.5.1 Функция настроек приложения «Шрифт заголовков»................ |
88 |
|
4.5.2 Функция настроек приложения «Шрифт блоков текста»........... |
89 |
|
4.5.3 Функция настроек приложения «Шрифт блоков кода».............. |
89 |
|
4.5.4 Функция настроек приложения «Перечитать файл настроек»... |
90 |
|
4.6 |
Обзор функций инструментов................................................................. |
91 |
4.6.1 Функция инструментов «Выбор цвета»........................................ |
91 |
|
4.6.2 Функция инструментов «Выбор файлов» .................................... |
92 |
|
4.7 |
Обзор функций списка разделов ............................................................. |
93 |
4.7.1 Функция списка разделов «Добавить раздел» ............................. |
93 |
4.7.2Функция списка разделов «Обновить все разделы с
шаблонами» |
................................................................................................... 94 |
|
9 |
4.8 Обзор функций раздела............................................................................ |
95 |
4.8.1Функция раздела «Добавить шаблон по выбранным блокам в
раздел» ........................................................................................................... |
95 |
4.8.2 Функция раздела «Удалить раздел со всеми шаблонами» ......... |
96 |
4.9 Обзор функций шаблона.......................................................................... |
97 |
4.9.1Функция шаблона «Обновить шаблон по выбранным блокам» 97
4.9.2 Функция шаблона «Изменить название шаблона»...................... |
98 |
|
4.9.3 Функция шаблона «Удалить шаблон» .......................................... |
98 |
|
4.10 |
Расширение интерпретатора ................................................................ |
99 |
4.11 |
Классификация изображений............................................................. |
100 |
4.12 |
Классификация текста......................................................................... |
110 |
4.13 |
Выводы по разделу.............................................................................. |
116 |
ЗАКЛЮЧЕНИЕ ................................................................................................... |
117 |
|
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ......................................... |
118 |
|
ПРИЛОЖЕНИЯ................................................................................................... |
120 |
|
ПРИЛОЖЕНИЕ А. Модуль «app.py»............................................................ |
120 |
|
ПРИЛОЖЕНИЕ Б. Модуль «views/app_settings_window.py»..................... |
120 |
|
ПРИЛОЖЕНИЕ В. Модуль «views/code_highlighter.py» ............................ |
122 |
|
ПРИЛОЖЕНИЕ Г. Модуль «views/code_item.py»....................................... |
124 |
|
ПРИЛОЖЕНИЕ Д. Модуль «views/text_item.py» ........................................ |
129 |
|
ПРИЛОЖЕНИЕ Е. Модуль «views/mainwindow.py» .................................. |
133 |
|
ПРИЛОЖЕНИЕ Ж. Модуль «models/app_settings.py» ................................ |
150 |
|
ПРИЛОЖЕНИЕ И. Модуль «models/client.py»............................................ |
153 |
|
ПРИЛОЖЕНИЕ К. Модуль «models/code_execution.py»............................ |
156 |
|
ПРИЛОЖЕНИЕ Л. Модуль «models/project.py».......................................... |
164 |
|
ПРИЛОЖЕНИЕ М. Модуль «models/template.py» ...................................... |
166 |
|
ПРИЛОЖЕНИЕ Н. Файл настроек приложения «settings.ini» ................... |
168 |
10