A high-level Deep Learning API for JVM and Android developers, written in Kotlin and inspired by Keras.
KotlinDL is a high-level Deep Learning API written in Kotlin, inspired by Keras. It enables JVM and Android developers to build, train, and deploy deep learning models using a simple, familiar interface. The framework supports training models from scratch, importing pre-trained Keras and ONNX models for inference, and applying transfer learning to adapt existing models to new tasks.
JVM and Android developers who want to integrate deep learning into their applications without leaving the Kotlin ecosystem. It's particularly useful for developers familiar with Keras who prefer working in Kotlin.
Developers choose KotlinDL for its idiomatic Kotlin API, seamless integration with JVM and Android projects, and support for both TensorFlow and ONNX backends. It reduces the learning curve for deep learning on the JVM and simplifies deploying models in production environments.
High-level Deep Learning Framework written in Kotlin and inspired by Keras
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a high-level interface inspired by Keras, making it intuitive for developers with Keras experience to build and train models in Kotlin, as shown in the LeNet example code.
Supports desktop JVM training with TensorFlow and Android inference with ONNX Runtime, enabling model deployment across different environments without switching frameworks.
Allows importing and fine-tuning pre-trained Keras and ONNX models, reducing training time and effort for custom tasks, as highlighted in the tutorials.
Separates API, implementation, and backend modules, so developers can include only needed components, minimizing dependencies and enhancing flexibility.
Relies on TensorFlow 1.15 Java API, missing features and optimizations from TensorFlow 2.x, and the README notes that migration to TensorFlow 2.+ is still pending.
The README lists only a restricted set of deep learning layers, which can hinder building complex or custom neural networks beyond basic architectures.
Enabling GPU acceleration requires manual installation of CUDA and additional dependencies, which is error-prone and system-specific, as detailed in the 'Running KotlinDL on GPU' section.