Коваленко Л.А. ВКР на тему «Разработка конструктора нейронных сетей». Глубокая проверка на плагиат.
−
Создание и редактирование набора данных
спомощью кода
спомощью кода в таблице
−
−
Интерактивная визуализация работы сети
спомощью кода
+
+
−
−
Экспорт модели в ONNX формат с помощью кода
+
−
−
−
Разработка сценариев/программ с графическим отображением только для поддерживаемых
только в полном пакете MATLAB
+
−
−
Пользовательские шаблоны кода
−
+
+
−
−
Разделение и объединение проектов по средам исполнения
−
−
−
−
−
Операционная система
Windows, Linux
Windows, Linux Windows Windows Windows
Лицензия
Бесплатно 30 дней условно-бесплатно Бесплатно Бесплатно Бесплатно
Таким образом, нужно объединить представленные в таблице функции в новое приложение, которое подойдет как для изучения и исследования машинного обучения, так и для решения бизнес-задач. В следующих разделах будет предложена архитектура такого решения, его
6
Коваленко Л.А. ВКР на тему «Разработка конструктора нейронных сетей». Глубокая проверка на плагиат.
возможности, функционал, а также тонкости реализации и использованные библиотеки.
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К РАЗРАБАТЫВАЕМОМУ ПРИЛОЖЕНИЮ
2.1 Требования к функциям 2.1.1 Функциональная структура приложения
Обобщенная функциональная структура приложения представлена на рисунке 2.1.
Рисунок 2.1 — Функциональная структура приложения
Приложение имеет функции для работы со списком проектов, инструменты без привязки к проектам, настройки приложения, которые влияют на настройки всех проектов, а также сам список проектов.
Файл проекта имеет расширение «nnc».
Каждый проект позволяет выполнять операции над списком блоков кода и блоков текста.
Так как в один момент времени просматривается только один проект, то операции проводятся над этим проектом.
Каждый блок кода содержит операции, присущие только ему, горячие клавиши и подсветку синтаксиса.
Блок текста хранит весь текст в формате HTML, при необходимости преобразуя HTML и Markdown между собой.
Для каждой вкладки этапа («Наборы данных», «Архитектуры» и пр.) свой список разделов. Под логгером далее понимается текстовое поле, в которое добавляется информация о результатах совершенных операций. Каждая запись имеет дату.
2.1.2 Функции списка проектов Основные функции списка проектов приведены в таблице 2.1.
Таблица 2.1 — Основные функции списка проектов Функция Описание «Новый проект»
1. Открывается диалоговое окно сохранения файла нового проекта.
2.Если в диалоговом окне выбран файл уже открытого проекта и нажата кнопка «Сохранить», то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Проект по пути [путь] уже открыт» с кнопкой «Ок».
3.Если в диалоговом окне было введено корректное имя файла (либо выбран файл на перезапись) и нажата кнопка «Сохранить», то создается новый проект:
1) В поле со статусом выводится «Подождите, пока проект создается...»; 2) Проект сохраняется на диск; 3) Загружаются разделы с шаблонами из директории приложения;
4) Устанавливаются настройки графических элементов в соответствии с настройками приложения; 5) В рабочую область добавляется пустой список блоков; 6) Статус проекта: «Сохранен»;
7) В поле со статусом и в логгер выводится «Проект создан».
4.Если в диалоговом окне была нажата кнопка «Отмена», то отмена действия; в поле со статусом выводится «Отмена создания проекта».
5.В случае ошибки выводится сообщение об ошибке «Не удалось создать проект: [описание ошибки]».
«Открыть проект»
1.Открывается диалоговое окно открытия файла существующего проекта.
2.Если в диалоговом окне выбран файл уже открытого проекта и нажата кнопка «Открыть», то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Проект по пути [путь] уже открыт» с кнопкой «Ок».
3.Если в диалоговом окне был выбран существующий файл проекта и нажата кнопка «Открыть»,
7
Коваленко Л.А. ВКР на тему «Разработка конструктора нейронных сетей». Глубокая проверка на плагиат.
то файл проекта открывается:
1)В поле со статусом выводится «Подождите, пока проект открывается...»;
2)Данные считываются из файла проекта;
3)Загружаются разделы с шаблонами из директории приложения;
4)Устанавливаются настройки элементов в соответствии с настройками приложения;
5)В рабочую область добавляется список блоков, считанных из файла проекта;
6)Статус проекта: «Сохранен».
7)В поле со статусом и в логгер выводится «Проект открыт».
4.Если в диалоговом окне была нажата кнопка «Отмена», то отмена действия; в поле со статусом выводится «Отмена открытия проекта».
5.В случае ошибки выводится сообщение об ошибке «Не удалось открыть проект: [описание ошибки]».
«Сохранить проект»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, то файл текущего проекта сохраняется: 1) В поле со статусом выводится «Подождите, пока проект сохраняется...»; 2) Проект сохраняется на диск; 3) Статус проекта: «Сохранен».
4) В поле со статусом и в логгер выводится «Проект [название] сохранен».
3.В случае ошибки выводится сообщение об ошибке «Не удалось сохранить проект: [описание ошибки]».
«Дублировать текущий проект»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, то открывается диалоговое окно сохранения файла дублирующего проекта.
3.Если в диалоговом окне выбран файл уже открытого проекта и нажата кнопка «Сохранить», то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Проект по пути [путь] уже открыт».
4.Если в диалоговом окне было введено корректное имя файла (либо выбран файл на перезапись) и нажата кнопка «Сохранить», то создается новый проект:
1) В поле со статусом выводится «Подождите, пока проект дублируется...»; 2) Проект сохраняется на диск; 3) Загружаются разделы с шаблонами из директории приложения;
4) Устанавливаются настройки графических элементов в соответствии с настройками приложения; 5) В рабочую область добавляется список блоков из исходного дублируемого проекта; 6) Статус проекта: «Сохранен»;
7) В поле со статусом и в логгер выводится «Проект [название] создан как дубликат [название]».
5.Если в диалоговом окне была нажата кнопка «Отмена», то отмена действия; в поле со статусом выводится «Отмена дублирования проекта».
6.В случае ошибки выводится сообщение об ошибке «Не удалось дублировать проект: [описание ошибки]».
«Закрыть проект»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, то отображение окна подтверждения «Вы уверены, что хотите закрыть проект?» с кнопками «Да» и «Нет».
3.Если «Да», то:
1) В поле со статусом выводится «Подождите, пока проект закрывается...»; 2) Отображение окна подтверждения «Сохранить проект перед закрытием?» с кнопками «Да» и «Нет» в случае, если статус проекта «Не сохранен»;
o Если «Да», то проект сохраняется;
8
Коваленко Л.А. ВКР на тему «Разработка конструктора нейронных сетей». Глубокая проверка на плагиат.
o Если «Нет», то проект не сохраняется.
3)Проект закрывается; графические элементы проекта удаляются из рабочей области.
4)В поле со статусом и в логгер выводится «Проект закрыт».
4.Если в диалоговом окне была нажата кнопка «Отмена», то отмена действия; в поле со статусом выводится «Отмена закрытия проекта».
5.В случае ошибки выводится сообщение об ошибке «Не удалось закрыть проект: [описание ошибки]».
«Выход из программы»
1.Отображение окна подтверждения «Вы уверены, что хотите выйти?» с кнопками «Да» и «Нет».
2.Если «Да», то:
1) Для каждого открытого проекта проверяется его статус. Если статус какого-либо из проектов «Не сохранен», то отображается окно подтверждения «Сохранить все проекты перед выходом?» с кнопками «Да», «Нет» и «Отмена».
o Если «Да», то все проекты сохраняются и закрываются, настройки программы записываются в файл настроек, а затем происходит выход из программы.
o Если «Нет», то все проекты закрываются без сохранения, настройки программы записываются в файл настроек, а затем происходит выход из программы.
o Если «Отмена», то отмена выхода.
2) Если нет открытых проектов или статус всех проектов «Сохранен», то все проекты закрываются, настройки программы записываются в файл настроек, а затем происходит выход из программы.
3.Если «Нет», то отмена действия.
4.В случае ошибки отображается окно подтверждения «Проигнорировать ошибку? [описание ошибки]» с кнопками «Да» и «Нет». Если «Да», то ошибка игнорируется. Если «Нет», то выход из программы не производится.
Необходимость в предварительном сохранении файла проекта связана с определением среды выполнения кода.
2.1.3 Функции проекта Основные функции проекта приведены в таблице 2.2.
Таблица 2.2 — Основные функции проекта Функция Описание
«Добавить блок кода»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, то:
1)В поле со статусом выводится «Подождите, пока блок кода добавляется...»;
2)В список блоков текущего проекта добавляется новый блок кода в любую позицию;
3)Статус проекта: «Не сохранен»;
4)В поле со статусом и в логгер выводится «В проект [название] добавлен блок кода».
3. В случае ошибки выводится сообщение об ошибке «Не удалось добавить блок кода: [описание ошибки]».
«Добавить текстовый блок»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, то:
1)В поле со статусом выводится «Подождите, пока блок текста добавляется...»;
2)В список блоков текущего проекта добавляется новый блок текста в любую позицию;
3)Статус проекта: «Не сохранен»;
4)В поле со статусом и в логгер выводится «В проект [название] добавлен блок текста».
3. В случае ошибки выводится сообщение об ошибке «Не удалось добавить блок текста: [описание ошибки]».
«Запустить выбранные блоки»
9
Коваленко Л.А. ВКР на тему «Разработка конструктора нейронных сетей». Глубокая проверка на плагиат.
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, но блоки кода не выбраны, то во всплывающем сообщении об ошибке выводится: «Ни один блок кода не выбран для выполнения» с кнопкой
«Ок».
3.Если хотя бы один открытый проект есть и хотя бы один блок кода выбран, то
1)В поле со статусом выводится «Подождите, пока выбранные блоки отправляются на выполнение...»;
2)Все выбранные блоки в списке блоков текущего проекта отправляются на выполнение.
3)В поле со статусом и в логгер выводится «В проекте [название] началось выполнение выбранных блоков».
4. В случае ошибки выводится сообщение об ошибке «Не удалось отправить выбранные блоки на выполнение: [описание ошибки]».
«Остановить выполнение блоков» 1. Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об
ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2. Если хотя бы один открытый проект есть, но в текущем проекте ядро еще не было запущено, то во всплывающем сообщении об ошибке выводится: «Ядро не запущено» с кнопкой «Ок».
3. Если хотя бы один открытый проект есть и в текущем проекте ядро запущено, то отображается окно подтверждения «Подтвердить остановку всех блоков кода выбранного проекта?» с кнопками «Да» и «Нет».
4. Если «Да», то:
1)В поле со статусом выводится «Подождите, пока останавливается выполнение блоков...»;
2)Из очереди выполнения удаляются все блоки кода.
3)Выполняющей среде посылается сигнал о прерывании выполнения текущего блока, если он есть.
4)В поле со статусом и в логгер выводится «В проекте [название] остановлено выполнение блоков».
5. Если «Нет», то отмена действия.
6. В случае ошибки выводится сообщение об ошибке «Не удалось остановить выполнение блоков: [описание ошибки]».
«Перезапустить ядро» 1. Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об
ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2. Если хотя бы один открытый проект есть, но в текущем проекте ядро еще не было запущено, то во всплывающем сообщении об ошибке выводится: «Ядро не запущено» с кнопкой «Ок».
3. Если хотя бы один открытый проект есть и в текущем проекте ядро запущено, то отображается окно подтверждения «Подтвердить перезапуск ядра выбранного проекта?» с кнопками «Да» и «Нет».
4. Если «Да», то:
1)В поле со статусом выводится «Подождите, пока ядро перезапускается...»;
2)Из очереди выполнения удаляются все блоки кода.
3)Выполняющей среде посылается сигнал о прерывании выполнения текущего блока, если он есть.
4)Ядро перезапускается.
5)В поле со статусом и в логгер выводится «В проекте [название] перезапущено ядро».
5.Если «Нет», то отмена действия.
6.В случае ошибки выводится сообщение об ошибке «Не удалось перезапустить ядро: [описание ошибки]».
«Очистить вывод выбранных блоков»
1.Если открытых проектов нет, то в поле со статусом, в логгер и во всплывающем сообщении об ошибке выводится: «Список проектов пуст» с кнопкой «Ок».
2.Если хотя бы один открытый проект есть, но блоки кода не выбраны, то во всплывающем
10
| 14 |
| 1511 |
| 2N4264RE |
| 3773 |
| 3901 |
| 4 Врожд ВГ. Фульмин |
| 4 ПРАКТИКА |
| 4 работа |
| 49 |
| 4лаба (с данными) |