Мысли

Мысли

@Huber_Z

Создание библиотеки нейросетей

Описание

Должна представлять из себя подключаемый модуль для создания, обучения и разворачивания нейросетей разного назначения за сравнительно короткое время. От пользователя требуется только наличие понимания цели сети и набор данных для обучения. На данный момент будет состоять из простых видов сетей

Основной функционал

Автоматическое определение достаточного количества нейронов, коэффициента обучения на основании предоставленных данных о размере обучающего набора, для лучшей эффективности.
Обучение выбранной нейросети на основании предоставленных данных (предположительно из .xlsx файла)
Генерация .exe или .cpp файла, в котором будет находиться готовая нейросеть для полноценного выполнения нужной задачи

Преимущества

Максимальное упрощение и ускорение действий пользователя для достижения задуманного
Работа с .xlsx файлами, из которых будут браться данные для обучения сети или проверки её точности, возможность добавления опции работы готовой нейросети с .xlsx файлами (чтение входных данных и запись результата)

Перспективы

Увеличение количества поддерживаемых видов сетей для работы с разными видами входных данных
Улучшение взаимодействия с пользователем библиотеки, пользователем готовой нейросети, возможность более детального настраивания поведения готовой нейросети
Связь с базами данных SQL - типа и/или отправки данных из браузера клиента для возможности работы в качестве серверного приложения (также будет встраиваться и настраиваться в готовой сети)

Описание работы

Есть несколько вариантов конечного продукта, от этого зависит стиль использования

Библиотека будет подключаться в начале файла через заголовок, она будет содержать в себе несколько методов. Подробнее:

1)Инициализация сети - получает на вход некоторые данные, по которым рассчитывает общее строение сети, различные коэффициенты и возможность её работы в принципе
2)Генерация сети
3)Обучение - получает на вход данные в некотором виде для обучения
4)Генерация файла - создание файла с полностью настроенной сетью (.cpp или .exe) если это возможно
Различные методы для расширения функционала готового файла, например работа с различными файлами, передача результата в различные файлы, по возможности

ЛИБО

Будет генерировать нейронку сама в себе и тогда нужно сделать методы для создания сети, обучения, отправки запроса и получения ответа

Не знаю отличается ли чем-нибудь вообще, но если отличается - то это точно проще, чем пилить либу

Будет обладать точно таким же функционалом, что и библиотека

Функционал - последовательно задаёт вопросы, получает ссылку на данные для обучения и на основании всего этого также генерирует .cpp или .exe с обученной сетью

ИТОГО

В первых двух вариантах нужны readme файлы, плюс библиотека и .cpp будут компилироваться в данный проект и увеличивать его объем
Плюс первых двух вариантов - создание нейронки вместе с проектом, то есть быстрое введение в эксплуатацию, нужно просто настроить взаимодействие
Плюсы третьего варианта - создание отдельного файла, с которым можно делать что угодно, более понятно для пользователя, но, возможно, больше проблем с настройкой

Короче тут надо думать, дополнять. Это моё видение, было бы хорошо, если бы оно было верным, но тут явно есть над чем работать




Report Page