JetBrains выпустила альфа-версию фреймворка для глубокого обучения нейросетей на Kotlin
API KotlinDL сделали максимально похожим на Keras. Можно загружать модели, натренированные на языке Python.
Новости TprogerВ ранней версии 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 пока нет. В ближайшие месяцы планируется выпуск минорного обновления, в котором количество поддерживаемых архитектур увеличится. Второе временное ограничение — отсутствие поддержки Android-устройств.