Данная библиотека представляет собой инструмент для быстрого и очень простого создания нейронной сети.
Инструкцию по установке и использованию вы можете найти здесь.
Библиотека работает как на Windows, так и на Linux. Есть api для использования библиотеки в Python.
import foxnn
Сеть создаётся одной строчкой кода с указанием количества входных параметров, а затем с последовательным указанием числа нейронов в слоях.
nn = foxnn.neural_network([3, 5, 4, 2]) # 3 параметра на вход, 3 слоя, и 2 параметра на выход
Если взглянуть на рисунок, то можно как раз увидеть: сначала 3 входных параметра, затем слой с 5-ью нейронами, затем слой с 4-мя нейронами и, наконец, последний слой с 2-мя нейронами.
Легко и понятно работать с обучающей выборкой. Первый массив - входные данные, второй массив - целевые значения.
# создаём тренировочные данные
train_data = foxnn.train_data()
# добавили 1 тест, [1, 2, 3] - входные данные, [1, 0] - то, что хотим получить на выход
train_data.add_data([1, 2, 3], [1, 0])
nn.train(data_for_train=train_data, speed=0.01, max_iteration=100, size_train_batch=98)
Получить выходное значение сети
nn.get_out([0, 1, 0.1]) #выметайся или дай значение сети =)
Есть оптимизации Адама и Нестерова
nn.settings.set_mode("Adam")
nn.settings.set_mode("Nesterov")
Есть возможность рандомного изменения весов для моделирования эволюции:
nn.random_mutation(0.1) # рандомное изменение весов
nn.smart_mutation(0.1) # изменение весов на величину, соизмеримую с исходным значением весов
Лицензия APACHE 2.0