• Представлен пакет ЦП
  • Все реализации слоев перенесены в пакет cpu.
  • Добавлен префикс «Cpu» к именам интерфейсов слоев.
  • Инструкции и реализация уровня идентификации перемещены в соответствующие подпакеты активации.
  • Теперь есть абстрактный базовый класс уровня активации и интерфейс.
  • Удалена функция активацииLayers.
  • Введены инструкции по оптимизации (аналог инструкций по слоям)
  • Инструкции для оптимизируемых слоев теперь требуют инструкций по оптимизации.
  • Добавлен префикс «ЦП» к именам реализаций оптимизатора на базе ЦП.
  • Пакеты «cpu» и «cuda» содержат реализации инструкций в подпакетах «layers» и «optimization».
  • Аккумуляторы и функции плотного/разреженного обновления перемещены в подпакет оптимизации процессора.
  • Удалены интерфейсы DenseForward и Chainable.
  • Организованные базовые классы и интерфейсы для слоев CUDA (аналогично базовым классам и интерфейсам для слоев ЦП)
  • Введены инструкции слоя CUDA.
  • Слои CUDA создаются для данной среды CUDA.
  • Добавлены интерфейсы CudaEntryPointInstruction, CudaForwardLayerInstruction и CudaActivationLayerInstruction.
  • CublasProjectionLayer теперь реализует CudaForwardLayerInstruction, а CudaSigmoidLayer реализует CudaActivationLayerInstruction.
  • Уровни CUDA распространяют указатели на данные на устройстве, а не на сами данные.
  • Функция cublasProject больше не обращается к результату устройства с хоста.
  • Переписал CudaSigmoidLayerTest
  • Функция фабрики сигмовидных инструкций и, косвенно, функция активацииLayer ожидают параметр измерения. Это необходимо для создания экземпляра CublasSigmoidLayer.
  • Сокращены названия некоторых параметров: «weightInitializationStrategy» переименовано в «weightInitialization», «optimizationStrategy» изменено на «оптимизация» и т.д.
  • Удалены демонстрации CUDA: они будут повторно реализованы и улучшены в ходе следующих нескольких коммитов.