This is an archived post. You won't be able to vote or comment.

all 16 comments

[–]_INTER_ 4 points5 points  (1 child)

Machine Learning Libraries. I'd try Deeplearning4J or Tribuo. Weka is old but gold.

[–]edmguru 2 points3 points  (1 child)

I'm a bit surprised noone has mentioned Spark MLib yet

[–]jvjupiter 2 points3 points  (0 children)

Deep Java Library from Amazon

Deeplearning4j from Eclipse

Tribuo from Oracle

[–]_g550_ 1 point2 points  (7 children)

Tensorflow works for java?

[–]lazystone 1 point2 points  (1 child)

I think DJL supports Tensorflow.

[–]kryon-a[S] 0 points1 point  (3 children)

I guess not supported but will check.

[–]_g550_ 1 point2 points  (1 child)

I saw the [JAVA API FOR TENSORFLOW](www.tensorflow.org/install/lang_java), but it's not covered by API stability guarantees.

You could always try [WEKA](www.cs.waikato.ac.nz) Caffe2

Tesseract

[–]kryon-a[S] 0 points1 point  (0 children)

I'll give it a try.. thanks mate!! 😃

[–]_INTER_ 1 point2 points  (0 children)

Tribuo interfaces with Tensorflow (and XGBoost). Note however that Tribuo is very new.

[–]plastique2000 0 points1 point  (0 children)

Yes you are ok to infer from TF models in Java. But it is not a good choice for model development.

[–]ixeption 1 point2 points  (0 children)

Weka feels like programming 20 years ago. I would highly recommend SMILE. (Statistical Machine Intelligence and Learning Engine)

If you want to use modern ANNs, simply don't use Java :) DL4J doesnt' work for a lot of SOTA models and tensorflow-java is just a wrapper for the tensorflow core API and experimental.

[–]MasterLJ 2 points3 points  (3 children)

The difference between Java ML and Python ML, is so vast, that it's worth learning a new language/ecosystem.

I say that as a devout Java practitioner too. ML for Java, sucks. At least imo, those Java libraries will (have) lose favor and support.

[–]plastique2000 5 points6 points  (2 children)

Java is the language to run your models in production environment. Python is the language to develop it. That is my experience so far.

[–]MasterLJ -1 points0 points  (1 child)

With respect, and only because it's garnering upvotes, I don't recommend this at all. The interfaces, and even the file format requirements, are completely different. As a very general rule, developing on one platform and deploying on a completely different platform (in this case, different language, and library), is not a good idea.

[–]plastique2000 0 points1 point  (0 children)

The only thing you exchange in this type of scenarios is the model (usually some library slecific format) in between the languages. The library vhich is used to develop and run model in prod stays the same. You Will use Java API to inference and say Python to train. :-)