Another Two Years In The Life Of AI, ML, DL And Java
Tags: ai, machinelearning, deeplearning, java
Published: 2020-12-25 21:16:55

---
title: Another Two Years In The Life Of AI, ML, DL And Java
published: true
description: A follow-up post on the back of the post two-years ago with the title "Two Years In The Life Of AI, ML, DL And Java" - https://dev.to/neomatrix369/two-years-in-the-life-of-ai-ml-dl-and-java--nni
tags: #artificialintelligence #machinelearning #deeplearning #java
cover_image: https://images.unsplash.com/photo-1501139083538-0139583c060f?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1000&q=80
---

_**This is a reblog of the original post at [Java Advent Calendar 2020](https://www.javaadvent.com/), see [original post](https://www.javaadvent.com/2020/12/another-two-years-in-the-life-of-ai-ml-dl-and-java.html).**_


# A bit of a background

Many of you know of my first post on this topic [**_Two years in the life of AI, ML, DL and Java_**](https://dev.to/neomatrix369/two-years-in-the-life-of-ai-ml-dl-and-java--nni)that was back in 2018/2019 when I had just started with my journey which still continues but I have more to share in this update (and I hope you will like it). At that time we had a good number of resources and the divide between **Java** and non-**Java** related resources were not so to have discussions about — since then things have changed, let’s see what the landscape looks like. 

I’m hoping that I’m able to share richer aspects of my journey, views, opinions, observations and learnings this time around as compared to [my previous summary post](https://dev.to/neomatrix369/two-years-in-the-life-of-ai-ml-dl-and-java--nni). 

I do admit that this is only a summary post and I intend to write more specific and focussed posts like the ones I did in 2019 (see the following section) — I have earmarked a couple of topics and I will flesh them out as soon as I’m happy with my selections.

# 2019: year of blogs

Looking at my activities in 2019 towards 2020, I can say I was more focussed on writing blogs and creating a lot of hands-on solution which I shared via my projects on GitHub and blogs on Medium. Here is a list of all of them:

*   August 2019: [**How to build Graal-enabled JDK8 on CircleCI?**](https://medium.com/oracledevs/how-to-build-graal-enabled-jdk8-on-circleci-3e20ae07a5d3?sk=85ddf84d1c444a224f9ec12bdcb03034)
*   August 2019: [**How to do Deep Learning for Java?**](https://towardsdatascience.com/how-to-do-deep-learning-for-java-on-the-valohai-platform-eec8ba9f71d8?sk=6b81209d56de2b5bf45aa2b3367b0a1f)
*   September 2019: [**Running your JuPyTeR notebooks on the cloud**](https://medium.com/oracledevs/running-your-jupyter-notebooks-on-the-cloud-ed970326649f?sk=d064432ccc14576f9156096b333d7647)
*   October 2019: [**Running Apache Zeppelin on the cloud**](https://medium.com/oracledevs/running-apache-zeppelin-on-oracle-cloud-infrastructure-b0aecc79597a?sk=d531a8cf4ca5b2d345e529805d676975)
*   November 2019: [**Applying NLP in Java, all from the command-line**](https://towardsdatascience.com/applying-nlp-in-java-all-from-the-command-line-1225dd591e80?sk=4dabee3fbeaee3633c3065becca8e2a6)
*   November 2019: [**Exploring NLP concepts using Apache OpenNLP**](https://towardsdatascience.com/exploring-nlp-concepts-using-apache-opennlp-4d59c3cac8?sk=a0495c3b93fa8a67b12747e6ac975db1)
*   December 2019: [**Exploring NLP concepts using Apache OpenNLP inside a Java-enabled Jupyter notebook**](https://towardsdatascience.com/exploring-nlp-concepts-using-apache-opennlp-inside-a-jupyter-notebook-e53489ba2bd8?sk=3f0925d458e73193a5fab445d2c14bdf)

# 2020: year of presentations

Similarly in 2020, from a blogging point-of-view I didn’t write much, this officially my first proper post of the year  (with the exception of one in August 2020, which you will find below) — I was quite busy with preparing for talks and presentations and online meetings and discussions. I kicked off the year with my talk at the [Grakn Cosmos 2020](https://www.grakncosmos.com/) conference in London, UK. So let me list them here so you can take a look at them in your own time:

*   February 2020: [Naturally, getting productive, my journey with Grakn and Graql](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/data/04-grakn-cosmos-2020) at **Grakn Cosmos 2020** conference
*   July 2020: [“nn”](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/01-jonconf-2020) [things every Java Developer should know about AI/ML/DL](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/01-jonconf-2020) at **JOnConf 2020** conference
*   August 2020: [From backend development to machine learning](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/02-abhishektalks-2020) on **Abhishek Talks****(YouTube** **channel)** meetup
*   _August 2020:_ [**_An Interview by Neural Magic: Machine Learning Engineer Spotlight_**](https://medium.com/@neomatrix369/an-interview-by-neural-magic-machine-learning-engineer-spotlight-e9be4ea61f8?source=friends_link&sk=42b6b4dc15ebef567fe8341ba7c541ba)_(blog_ _post)_
*   October 2020: [Profiling Text Data](https://github.com/neomatrix369/nlp_profiler/tree/master/presentations/01-nlp-zurich-2020) at the NLP Zurich meetup
*   October 2020: [Tribuo: an introduction to a Java ML Library](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/03-makeitweek-2020) at **MakeITWeek 2020** conference
*   October 2020: [“nn”](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/04-gba-apac-tour-2020) [things every Java Developer should know about AI/ML/DL](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/presentations/awesome-ai-ml-dl/04-gba-apac-tour-2020) at **Oracle Groundbreakers Tour – APAC 2020** conference

You can find slides (and videos of some) of the above presentations under the links provided.

# Other achievements and activities this year

As to my journey, I have also been involved a good part of this year learning by online AI/ML competitions, see [this](https://twitter.com/theNeomatrix369/status/1214601525856747520) and [this](https://mobile.twitter.com/theNeomatrix369/status/1265411110473252866) post shared to learn more. You can also find all of my [datasets](https://www.kaggle.com/neomatrix369/datasets) and [notebooks](https://www.kaggle.com/neomatrix369/notebooks) for further study. Also the launch of an **Python**-based NLP Library called [NLP Profiler](https://github.com/neomatrix369/nlp_profiler) was another important feat for me this year.

[![](https://paper-attachments.dropbox.com/s_0AEF83F51DD1F952F93345301E669383CE4B6DDE15013A5673D6B01EEE5B4D00_1606954979635_Screen+Shot+2020-12-03+at+00.21.41.png)](https://neomatrix369.wordpress.com/about)

[](https://neomatrix369.wordpress.com/about)

# What’s happening in this space?

There is a lot of hype happening in the space and as [**Suyash Joshi**](https://twitter.com/suyashcjoshi) rightly said during a conversation sometime back: _“It’s_ _easy to get sucked into hype and shiny new stuff I fell a lot for that and then get overwhelmed“._ And I think you will agree with me that we can relate to this situation. Also many of the things we are seeing look nice, and shiny but may NOT be fully ready for the real-world yet, I did cover similar arguments in a[ _post in August_](https://medium.com/@neomatrix369/an-interview-by-neural-magic-machine-learning-engineer-spotlight-e9be4ea61f8?source=friends_link&sk=42b6b4dc15ebef567fe8341ba7c541ba).  
There are few entities who are openly claiming various things about the not-so-bright-sides of AI, they are things like:

*   _the statistical methods used are from the last century and may not be suited to modern day data__(led_ _by_ [_Nassim Taleb’_](https://www.amazon.co.uk/s?k=nassim+taleb&dc&ref=a9_sc_1)_s school of thought)_
*   _many modern-day open-source tools and industry methods to derive at solutions are broken or inadequate_
*   _we are not able to explain our predictions and findings__(blackbox_ _issue: explainability and interpretability)_
*   _our AI solutions lack causality, intent and reasoning_ (similar to the previous point)

These come from individuals, groups and companies who are building their own solutions (mostly closed-source) as they have noticed the above drawbacks and doing things to overcome them but also making the rest of the world aware of it.

# Where is Java on the map?

Java has been contributing to the AI force since sometime now, all the way when there was a lot of talk during the Big Data buzz, which then transformed to the new buzz about AI, Machine Learning and Deep Learning. If we closely look at the categories and sub-categories of resources here:  

*   [Apache Spark](https://spark.apache.org/) [_[1]_](https://www.nvidia.com/en-us/deep-learning-ai/solutions/data-science/apache-spark-3/) _|_[_[2]_](https://blogs.oracle.com/graalvm/apache-spark%e2%80%94lightning-fast-on-graalvm-enterprise)
*   [Apache Hadoop](http://hadoop.apache.org/)
*   [Deeplearning4J](https://github.com/eclipse/deeplearning4j) 
*   and many other such tools, libraries, frameworks, and products

and now more recently

*   [grCuda](https://github.com/NVIDIA/grcuda) and [graalPython](https://github.com/graalvm/graalpython) (from the folks at [Oracle Labs](https://labs.oracle.com/pls/apex/f?p=94065:INTRO::::::) behind all the [**GraalVM**](http://graalvm.org) _magic_)
*   [DeepNetts](https://www.deepnetts.com/)
*   [Tribuo](https://tribuo.org/)

and more under these resources

*   [Java: AI/ML/DL](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/java-jvm.md)
*   [NLP Java](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/natural-language-processing/java-jvm.md)
*   [Tools and libraries](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/java-jvm.md#tools--libraries-other-resources)[(Java/JVM)](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/java-jvm.md#tools--libraries-other-resources)
*   some intriguing **GitHub** resources: [AI](https://github.com/search?q=java+ai&type=repositories) or [Artificial Intelligence](https://github.com/search?q=java+artificial+intelligence&type=repositories) | [ML](https://github.com/search?q=java+ML&type=repositories) or [Machine Learning](https://github.com/search?q=java+Machine+Learning&type=repositories) | [DL](https://github.com/search?q=java+DL&type=repositories) or [Deep Learning](https://github.com/search?q=java+Deep+Learning&type=repositories) | [RL](https://github.com/search?q=java+RL&type=repositories) or [Reinforcement Learning](https://github.com/search?q=java+reinforcement+learning&type=repositories) | [NLP](https://github.com/search?q=java+NLP&type=repositories) or [Natural Language Processing](https://github.com/search?q=java+Natural+Language+Processing&type=repositories)

[_[1] Nvidia and Apache Spark_](https://www.nvidia.com/en-us/deep-learning-ai/solutions/data-science/apache-spark-3/)

[_[2] Oracle Labs and Apache Spark_](https://blogs.oracle.com/graalvm/apache-spark%e2%80%94lightning-fast-on-graalvm-enterprise)  

You can already see various implementations using Java and other JVM languages — they have just not been noticed by us, unless we made an attempt to look for them. 

If you have been following the progress of [GraalVM and Truffle](https://graalvm.org) (see [GitHub](https://github.com/oracle/graal)) in this space boosting server-side, desktop and cloud-base systems in terms of performance, ergonomic footprint and language interop — then you will, just like me also see that **Java**’s presence and position is growing from strength-to-strength in this space. 

<img src="https://paper-attachments.dropbox.com/s_0AEF83F51DD1F952F93345301E669383CE4B6DDE15013A5673D6B01EEE5B4D00_1606947855178_Screen+Shot+2020-12-02+at+22.23.42.png" alt="grCuda" width="400" height="400"/ align="left"><img src="https://paper-attachments.dropbox.com/s_0AEF83F51DD1F952F93345301E669383CE4B6DDE15013A5673D6B01EEE5B4D00_1606947855205_Screen+Shot+2020-12-02+at+22.23.50.png" alt="graalPython" width="400" height="400" align="left"/>

_(_**_grCuda_** _and_ **_graalPython_** _are two such examples: see AI/ML/DL related resources on_ [_Awesome Graal_](https://github.com/neomatrix369/awesome-graal) _and also at the appendix sections of  the talk slides for more resources — see section above for talks)_

# Some highlights in pictures

<img src="https://i2.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.31.10.png" width="400" height="400" align="left"/>

<img src="https://i2.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.31.19.png" width="400" height="400" align="left"/>

<img src="https://i2.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.31.58.png" width="400" height="400" align="left"/>

<img src="https://i1.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.32.21.png" width="400" height="400" align="left"/>

<img src="https://i1.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.32.48.png" width="400" height="400" align="left"/>

<img src="https://i2.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.49.25.png" width="400" height="400" align="left"/>

<img src="https://i1.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.51.00.png" width="400" height="400" align="left"/>

<img src="https://i0.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.52.15.png" width="400" height="400" align="left"/>

<img src="https://i2.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.55.09.png" width="400" height="400" align="left"/>

<img src="https://i1.wp.com/www.javaadvent.com/content/uploads/2020/12/Screen-Shot-2020-12-02-at-22.55.16-2.png" width="400" height="400" align="left"/>

# Recommended Resources

If I had to go through many of the resources I have shared in this post so far, of all of them I would look at these topics (in no particular order and also not an exhaustive list, it’s still a lot of topics to learn and know about):

[Bayesian](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/maths-stats-probability.md#bayesian) | [Performance in Python](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/Python-Performance.md) | [Made With ML](https://MadeWithML.com) | [Virgilio](https://virgili0.github.io/Virgilio/) | [**Visualisation**](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/visualisation.md#visualisation) | [**TVM: Compiler stack for CPUs, GPUs, etc…**](https://tvm.apache.org/docs/index.html) | [Hyperparameter tuning](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/data/README.md#hyperparameter-tuning) | [Normalising (and Standardising) a distribution](https://www.kaggle.com/neomatrix369/normalising-a-distribution) | [Things to Know](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/things-to-know.md) | [**grCuda**](https://github.com/NVIDIA/grcuda) | [**Running compiled and optimised AI Models in the Cloud**](https://www.scailable.net/) | [Neural Magic: Model Pruning and Sparsification](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/cloud-devops-infra/about-neural-magic.md) | [**Train and Infer models via a native-image**](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/examples/tribuo#native-image-build-optional) | [Genetic Algorithms by Eyal](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/julia-python-and-r.md#genetic-algorithms) | [DeepNetts: Deep Learning in Java by Zoran](https://www.deepnetts.com/) | [**NLP**](https://github.com/neomatrix369/awesome-ai-ml-dl/tree/master/natural-language-processing#natural-language-processing-nlp) | [NLP with Java](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/natural-language-processing/java-jvm.md#javajvm) | [Graphs](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/README-details.md#graphs) | [ML on Code/Program/Source Code](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/ML-on-code-programming-source-code.md) | [**Tribuo: A java-base ML library**](https://tribuo.org/)|[Chatbots talking to each other](https://github.com/neomatrix369/chatbot-conversations) | [**Testing**](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/details/julia-python-and-r.md#testing)  

My apologies as [**_YMMV_**](https://www.lifewire.com/what-is-ymmv-2483722) — I’m working on these topics and slowly gaining knowledge and experience and hence my urge to immediately share them with the rest of the community. I’ll admit few of these may be still _Work in Progress_ — but I hope we can all learn these together. I’ll share more as I make more progress with them during the course of the days, weeks and months into 2021. 

# Conclusions

We are in a heterogenous space and AI/ML/DL ideas and innovations from creation to deployment go through various forms and shapes and depending on the comfort-zones and end-use cases of the ideas and innovations get implemented using multitudes of technologies. It won’t be correct or fair to say only one technology is being used. 

We are seeing R&D, rapid prototyping, MVP, PoC and the likes are being done using languages like **Python**, **R**, **Matlab**, **Julia** and the likes while when it comes to robust, reliable, scalable, production-ready solutions more serious contenders are chosen for encapsulating the original work. And **Java** and other **JVM** languages, and the likes that can provide such stability are often being considered both for desktop and cloud implementations.

**_Wearing my Oracle Groundbreaker Ambassador hat_**: I recommend taking advantage of the _**[Free cloud credits from Oracle](https://www.oracle.com/cloud/free/)**_ (also see _**[this post](https://dev.to/phocks/how-to-get-2x-oracle-cloud-servers-free-forever-4o22)**_ — _the VMs are super fast and easy to set-up (see my posts above)._

# What next?

<div data-carousel-extra="{&quot;blog_id&quot;:1,&quot;permalink&quot;:&quot;https:\/\/www.javaadvent.com\/2020\/12\/another-two-years-in-the-life-of-ai-ml-dl-and-java.html&quot;}" class="wp-block-media-text alignwide is-stacked-on-mobile">

<figure class="wp-block-media-text__media">![](https://images.unsplash.com/photo-1542169096-d626c9d082ab?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1000&q=80)</figure>

_The journey continues, the road may be long, but it’s full of learnings — that certainly helps us grow. Many times we learn at the turning points while the milestones keep changing. Let’s continue learning and improving ourselves._

Please do feedback if you are curious to explore deeper aspects of what you read above, as you may understand the topic is wide and deep and one post cannot do full justice to such rich topics (plus many of them are moving targets).

_**This is a reblog of the original post at [Java Advent Calendar 2020](https://www.javaadvent.com/), see [original post](https://www.javaadvent.com/2020/12/another-two-years-in-the-life-of-ai-ml-dl-and-java.html).**_