Aleksei Zinovev
ML engineer at JetBrains
Tempered in the crucible of Apache Hadoop and Apache Spark, the last few years, Alex is working on Machine Learning frameworks for JVM programming languages (Java, Scala, and Kotlin).
In 2017 - 2020 he worked on a ML module for distributed in-memory database, Apache Ignite
2020 was a year when Alexey created and released the new Deep Learning framework in Kotlin (Kotlin DL https://github.com/JetBrains/KotlinDL)
Since 2022 Alexey is working on different ML projects written in Kotlin for Code Generation and Object Detection.
Deep Dive into Deep Learning with KotlinDL
I think that many of you know the Keras library, which runs on top of Tensorflow. Tensorflow itself has a stable C API, and therefore there are several high-level deep learning frameworks in other languages inspired by Keras, such as TFJS, Keras.NET, Tensorflow in Go.
Today I want to introduce you to a Keras-like machine learning framework written in Kotlin.
Currently, the KotlinDL framework can boast that this is the only way to construct and train complex neural networks on JVM, such as VGG, ResNet, or MobileNet. There is also support for transfer learning for the popular models trained in Keras (or available in Keras. applications).
For image preprocessing, several functions are available that allow you to avoid complex and routine work on the JVM.
In the last two releases KotlinDL obtained the support of the ONNX module, became multiplatform and could be run on Android devices for different tasks.
Finally, I’ll show you how you can build, train, and use a convolutional neural network (CNN) entirely in Kotlin with the help of KotlinDL, and we discuss how to use KotlinDL models in production.