Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Содержание ВКР / ВКР 2022 (без приложений). Коваленко Л.А. Разработка конструктора нейронных сетей

.pdf
Скачиваний:
79
Добавлен:
11.06.2022
Размер:
12.59 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Факультет

 

ИКСС

 

 

 

 

 

 

 

Кафедра

 

ПИВТ

 

 

 

 

 

 

 

 

 

 

Допустить к защите

 

 

 

Заведующий кафедрой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(подпись)

(Ф.И.О.)

«

 

»

 

 

 

 

 

 

г.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Разработка конструктора нейронных сетей

(тема ВКР)

Направление/специальность подготовки 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.

Подготовка к защите ВКР,

 

 

 

включая подготовку к процедуре

 

 

 

защиты и процедуру защиты

 

 

Студент

(подпись)

Руководитель ВКР

(подпись)

РЕФЕРАТ

Ввыпускной квалификационной работе рассматривается тема

«Разработка конструктора нейронных сетей».

Выпускная квалификационная работа содержит: 118 страниц, 147

рисунков, 10 таблиц.

В первом разделе приведен обзор предметной области и существующих решений.

Во втором разделе сформулированы требования к приложению.

Втретьем разделе приведены детали технической реализации.

Вчетвертом разделе продемонстрирована работа приложения.

КОНСТРУКТОР, НЕЙРОННЫЕ СЕТИ, КЛАССИФИКАЦИЯ ИЗОБРАЖЕНИЙ, КЛАССИФИКАЦИЯ ТЕКСТА

Методы проведения работы: метод обобщения, метод моделирования.

Результаты работы и новизна: создан инструмент для разработки нейронных сетей, который позволяет выполнять блоки кода на языке 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

Результаты разработки.............................................................................

53

 

3.3

Выводы по разделу ...................................................................................

57

4

ДЕМОНСТРАЦИЯ РАБОТЫ ПРИЛОЖЕНИЯ .........................................

58

 

4.1

Обзор функций списка проектов ............................................................

58

 

4.1.1

Функция списка проектов «Новый проект» .................................

60

 

4.1.2

Функция списка проектов «Открыть проект»..............................

62

 

4.1.3

Функция списка проектов «Сохранить проект» ..........................

63

 

4.1.4

Функция списка проектов «Дублировать текущий проект» ......

64

 

4.1.5

Функция списка проектов «Закрыть проект» ..............................

66

 

4.1.6

Функция списка проектов «Выход из программы».....................

67

 

4.2

Обзор функций проекта ...........................................................................

69

 

4.2.1

Функция проекта «Добавить блок кода» ......................................

69

 

4.2.2

Функция проекта «Добавить текстовый блок» ............................

69

 

4.2.3

Функция проекта «Запустить выбранные блоки» .......................

70

 

4.2.4

Функция проекта «Остановить выполнение блоков» .................

71

 

4.2.5

Функция проекта «Перезапустить ядро»......................................

72

 

4.2.6

Функция проекта «Очистить вывод выбранных блоков»...........

72

 

4.2.7

Функция проекта «Удалить выбранные блоки» ..........................

73

 

4.3

Обзор функций блока кода ......................................................................

74

 

4.3.1

Функция блока кода «Запустить»..................................................

74

 

 

 

8

 

4.3.2 Функция блока кода «Остановить»...............................................

75

4.3.3 Функция блока кода «Удалить» ....................................................

75

4.3.4 Функция блока кода «Скрыть/показать вывод» ..........................

76

4.3.5

Функция блока кода «Горячие клавиши».....................................

77

4.3.6

Функция блока кода «Подсветка синтаксиса».............................

78

4.3.7Функция блока кода «Запрос данных со стороны среды

исполнения»...................................................................................................

78

4.4 Обзор функций блока текста ...................................................................

83

4.4.1 Функция блока текста «Редактировать как HTML»....................

83

4.4.2 Функция блока текста «Редактировать как Markdown» .............

83

4.4.3 Функция блока текста «Обновить вид» ........................................

84

4.4.4 Функция блока текста «Удалить» .................................................

84

4.4.5Функция блока текста «Вставить текст из буфера обмена как

текст без форматирования»..........................................................................

85

4.4.6Функция блока текста «Вставить текст из буфера обмена как

HTML» ...........................................................................................................

86

4.4.7Функция блока текста «Вставить текст из буфера обмена как

Markdown» .....................................................................................................

86

4.5

Обзор функций настроек приложения ...................................................

87

4.5.1 Функция настроек приложения «Шрифт заголовков»................

87

4.5.2 Функция настроек приложения «Шрифт блоков текста»...........

88

4.5.3 Функция настроек приложения «Шрифт блоков кода»..............

88

4.5.4 Функция настроек приложения «Перечитать файл настроек»...

89

4.6

Обзор функций инструментов.................................................................

90

4.6.1 Функция инструментов «Выбор цвета»........................................

90

4.6.2 Функция инструментов «Выбор файлов» ....................................

91

4.7

Обзор функций списка разделов .............................................................

92

4.7.1 Функция списка разделов «Добавить раздел» .............................

92

4.7.2Функция списка разделов «Обновить все разделы с

шаблонами»

................................................................................................... 93

 

9

4.8 Обзор функций раздела............................................................................

94

4.8.1Функция раздела «Добавить шаблон по выбранным блокам в

раздел» ...........................................................................................................

94

4.8.2 Функция раздела «Удалить раздел со всеми шаблонами» .........

95

4.9 Обзор функций шаблона..........................................................................

96

4.9.1Функция шаблона «Обновить шаблон по выбранным блокам» 96

4.9.2 Функция шаблона «Изменить название шаблона»

...................... 97

4.9.3 Функция шаблона «Удалить шаблон» ..........................................

97

4.10

Расширение интерпретатора ................................................................

98

4.11

Классификация изображений...............................................................

99

4.12

Классификация текста.........................................................................

109

4.13

Выводы по разделу..............................................................................

115

ЗАКЛЮЧЕНИЕ ...................................................................................................

116

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .........................................

117

10