Написать С++ библиотеку по «проигрыванию» пред обученной сети

Цена договорная • электронные деньги
14 апреля 2017, 11:33 • 1 отклик • 42 просмотра
Здравствуйте

Есть нейросеть, умеющая обучатся, сохранять и восстанавливать себя, написанная на C# под cuDNN. На текущий момент сеть реализует несколько простых слоев, таких как: InputLayer, Convolution, Pool , FullConnected, ActivationLayer и SoftMax

Требуется
Написать на c++ библиотеку для «воспроизведения» пред обученной сети. То есть загрузить из файла сохраненное состояние сети (При сохранении используется н свой формат, легко читаемый и понятный(н е сериализация )).

И реализовать по сути одну единственную функцию forward (PreDict), но сделать это надо с максимально возможными оптимизациями, что бы скорость работы Predict-a была максимальна.

Как минимум для операции свертки, полносвязного слоя использовать MKL.

Исходники обучающей программы предоставлю, чем смогу буду помогать. По моим прикидкам речь идет о коде максимум до 1000 строчек(Ну это совсем максимум) ). Главная проблема –задача выжать скорость по максимуму…