В ранешней версии KotlinDL создатели отыщут все нужные способы для описания мультислойных перцептронов и сверточных сетей. Для большинства характеристик заданы разумные значения по дефлоту. Но в то же время юзерам предоставляется широкий выбор оптимизаторов, инициализаторов, функций активации и остальных опций. Полученную в процессе обучения модель можно сохранить и применять в приложениях, написанных на Kotlin и Java.
Благодаря схожести API в KotlinDL можно загружать и применять модели, натренированные при помощи Keras на языке Python (поддерживаются версии 2.*). При загрузке можно применить технику Transfer Learning, которая дозволяет не тренировать нейронную сеть с нуля, а пользоваться готовой моделью, подогнав её под свою задачку.
В качестве движка KotlinDL употребляет TensorFlow Java API. Все вычисления производятся в библиотеке машинного обучения TensorFlow, в нативной памяти. Во время тренировки все данные остаются в нативе.
В альфа-версии KotlinDL доступно ограниченное количество слоев: Input(), Flatten(), Dense(), Dropout(), Conv2D(), MaxPool2D() и AvgPool2D(). Это ограничение влияет и на то, какие модели Keras можно загружать во фреймворк. Архитектуры VGG-16 и VGG-19 уже поддерживаются, а ResNet50 пока нет. В наиблежайшие месяцы планируется выпуск минорного обновления, в каком количество поддерживаемых архитектур возрастет. 2-ое временное ограничение — отсутствие поддержки Android-устройств.
Источник: