Спасибо. Не сравнивал. Для fully-connected layers обучение работает, можно сказать, терпимо, но именно сеть побольше из convolution layers на CPU будет работать очень долго даже на базе чисел MNIST. Проект преследует больше образовательную цель - теперь я знаю точно что делает свёрточный слой, как именно считать производные по отношению к весам в свёрточном слое, как иммено реализуется padding и т.д (данные знания по возможности прокоментированны в коде или в виде документов в docs/). Для производительного обучения сети надо переписать несколько функций на cuda kernel'ы. С точки зрения использования уже обученой модели данный код можно использовать без проблем.