The Tensorflow Java project is alive and well. The next version of the API based on TF 2 is coming out soon. (Full disclosure, I'm a member of the SIG that's building it). I'm a firm believer in the utility of type systems for building machine learning projects.
Re:Java Turns 25 – Whats Next? [pdf]
by jszymborski on Monday September 21, 2020 @11:00AM
(#24544230)
Can you train models with TF Java? I was under the impression it was for inference only
You can with some hoop jumping in the current release (e.g. using 1.14 you need to define the model and optimizer in Python - https://github.com/oracle/tribuo/blob/main/Interop/Tensorflo...). With the upcoming alpha release from the TF Java group you can train purely from Java without invoking any Python - https://github.com/tensorflow/java-models/blob/master/tensor...
MXNet also makes deep learning a first-class citizen in Java, but yes the research community is firmly entrenched in Python atm.
I see JDK languages as being in a decent spot for deploying ML/DL, and maybe an "emerging" language for training DL models.
Folks like Jeremy Howard have increasingly been expressing growing pains with Python and TensorFlow has been looking for something with a better type system like Swift.
If I had to take a guess, I'd say that Python is likely going to be sharing the ecosystem with a language with a better type system and performance like Julia or something on the JDK.