Hey #JVM folks, are you willing to explore some Deep Machine Learning or AI and not ready to learn Python? I have collected a list of libraries which allow you to implement any ML dreams without leaving the #JVM world. 🧵 👇
deeplearning4j - a suite of tools for deploying and training DL models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code.
Dagli by @LinkedIn - is a machine learning framework that makes it easy to write bug-resistant, readable, efficient, maintainable and trivially deployable models in Java 9+ (and other JVM languages).
Tribuo by @Oracle - is an ML lib that provides multi-class classification, regression, clustering, anomaly detection and multi-label classification. It implements popular ML algorithms. It contains all the code to load, featurise and transform data.
Apache OpenNLP - the library is a machine learning-based toolkit for processing text. It supports tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, language detection and coreference resolution.
Deep Java Library (DJL) - is an open-source, high-level, engine-agnostic Java framework for deep learning. DJL is designed to be easy to get started with and simple to use for Java developers.
Apache Mahout - is a distributed linear algebra framework and mathematically expressive Scala DSL designed to let mathematicians, statisticians, and data scientists quickly implement their own algorithms.
Smile by @haifengl - Statistical Machine Intelligence and Learning Engine. It is a fast and comprehensive machine learning, NLP, linear algebra, graph, interpolation, and visualization system in Java and Scala. It delivers state-of-art performance.
Apache Ignite ML - is a set of simple, scalable and efficient tools that allow the building of predictive Machine Learning models without costly data transfers.
KotlinDL is a DL API written in Kotlin and inspired by Keras. It uses TensorFlow Java API and ONNX Runtime API for Java. It has APIs to train DL models from scratch, import existing Keras and ONNX models for inference, and leverage transfer learning.
If you found the thread interesting, then like, RT the first tweet of the thread and follow @xpvit for more content like this. I create such threads on a weekly basis.
We moved our projects from #Java 11 to #Java 17 almost right after the LTS release. Here is a list of the Top 5 features that I have used and enjoyed for more than a year that may convince you to upgrade your projects. 🧵👇
`
record Point(int x, int y) {}
`
- this all you need to create POJO. No, constructors, getters, setters, etc. Just removed verbosity, which was disliked and criticized by many community members. 📓
Text blocks:
`String text = """
Long
formated
text.
""";
`
My SQL queries and JSON blocks in tests don't look like graveyards with all those `+.` ➕❌
AssertJ by @JoCosti - fluent chaining assertions java library. One of the most powerful and convenient ways to write assertions. It's also included in the @springboot test framework.
Often Software Developers are also called Professional Googlers. This means that we need to be really proficient in it. So this thread will provide you with tips and tricks which help you to become #10xengineer in Googling. Let's start ➡️➡️➡️
1. Use quotes for "exact match" searches. Often when you search for a particular error message try searching with quotes first to get your results faster. Very helpful when you need to understand error or warning messages in logs.
2. Use '*' in as a wildcard. Use case: when searching for errors messages replace parts specific to your code(folder or package names). Also helpful you want to find a song, but remember only some words then replace the unknown part with '*'. 🎶