Skip to content

Latest commit

 

History

History
95 lines (58 loc) · 5.13 KB

README_ru.md

File metadata and controls

95 lines (58 loc) · 5.13 KB

NNFS - Нейронные сети с нуля на C++

Этот проект создан appxpy и brazenoptimist в образовательных целях в Высшей школе экономики в Москве. Цель проекта - создать простую нейронную сеть с нуля, используя C++17.

NNFS включает в себя библиотеку "NNFS" с открытым исходным кодом, которая позволяет пользователям создавать свои собственные нейронные сети для образовательных целей. Пользователи могут настраивать слои и функции активации в соответствии со своими потребностями.

Начало работы

Для начала работы с NNFS склонируйте репозиторий и его субмодули:

git clone --recursive https://github.com/appxpy/NNFS.git

Требования

  • Компилятор с поддержкой C++17 (проверено с Clang 14 и GCC 12)
  • CMake (версия 3.14 или выше)

Сборка

Для сборки проекта перейдите в каталог проекта и создайте папку build:

cd NNFS
mkdir build
cd build

Затем соберите проект с помощью cmake:

cmake ..
make

Архитектура

Проект NNFS организован в следующие каталоги:

  • include/NNFS: Содержит библиотеку с открытым исходным кодом, которая включает в себя слои, функции активации и функции потерь.
  • tools: Содержит исходный код для созданных исполняемых файлов для обучения и интерактивного тестирования рисования.
  • tests: Содержит тестовые случаи для ядра библиотеки с помощью фреймворка Google Test.
  • external: Содержит подмодули для библиотек Eigen и Google Test.

Документация

Полная документация для проекта NNFS находится на сайте appxpy.github.io/NNFS.

Зависимости

Проект NNFS зависит от следующих библиотек:

  • Eigen: Высокоуровневая библиотека на C++ для линейной алгебры, которая включена в качестве субмодуля в каталог external/eigen.

  • Google Test: Фреймворк для тестирования на C++, который включен в качестве субмодуля в каталог external/googletest.

Тестирование

Проект NNFS был протестирован с помощью Clang 14 и GCC 12.

Чтобы запустить тесты, перейдите в каталог build и выполните следующие команды:

cd tests
./nnfs_tests

Примеры

Пример использования библиотеки NNFS для создания собственной нейронной сети можно найти в каталоге tools под именем nnfs_example.cpp.

Хотите улучшить проект?

Мы приветствуем всех, кто заинтересован в улучшении проекта NNFS. Если вы обнаружили ошибку или у вас есть идея для новой функции, пожалуйста, откройте issue в репозитории GitHub.

Если вы хотите внести свой вклад в проект, пожалуйста, выполните следующие шаги:

  1. Сделайте fork репозитория и клонируйте его на свой локальный компьютер.
  2. Создайте новую ветку для ваших изменений.
  3. Внесите свои изменения и тщательно их протестируйте.
  4. Закоммитьте свои изменения с ясным и описательным сообщением.
  5. Отправьте свои изменения в свой fork репозитория.
  6. Откройте pull request на репозитории GitHub.

Пожалуйста, обратите внимание, что все pull request'ы подлежат рассмотрению со стороны разработчиков проекта.

Лицензия

Этот проект распространяется под лицензией MIT. Пожалуйста, см. файл LICENSE для получения дополнительной информации.


made with ❤️ by appxpy & brazenoptimist