5 ms·
There is a large amount of research, including some hedge fund models, that are exclusively using Clojure, on the JVM, for machine learning. Just because public
by hellofunk 11y ago
There is a large amount of research, including some hedge fund models, that are exclusively using Clojure, on the JVM, for machine learning. Just because public libraries might often be in Python doesn't mean it is the language of choice for the big guys (it often isn't). You'd be surprised how much in-house ML stuff is done on the JVM.
- p1esk 11y agoI guess I should have clarified that by ML I really meant DL, as this is the most important area of ML currently. Is there anyone writing large CNNs or RNNs using Java or Scala or Clojure? Are there any widely used DL libraries based on those languages?
- mindcrime 11y agoThere's definitely a popular DL library in Java: http://deeplearning4j.org/ http://deeplearning4j.org/ And at least one seemingly fairly current NN library: https://github.com/ivan-vasilev/neuralnetworks https://github.com/ivan-vasilev/neuralnetworks An an older "pre deep learning" NN library called Neuroph. http://neuroph.sourceforge.net/ http://neuroph.sourceforge.net/ and another older one called JOONE: http://sourceforge.net/projects/joone/files/joone-engine/ http://sourceforge.net/projects/joone/files/joone-engine/ So in general, the answer is "yes" as to whether or not people are doing Neural Network / DL work in Java. I can't tell you how much such work is happening, or really compare Java/Scala to Python, etc., at that level of granularity though. And just for a little bit more perspective: IBM Watson is (or was) apparently largely Java based: http://www.drdobbs.com/jvm/ibms-watson-written-mostly-in-java/229300226 http://www.drdobbs.com/jvm/ibms-watson-written-mostly-in-jav...
- p1esk 11y agoOk, I see. Though I'm not sure why anyone who wants to write DL code today would go with anything other than Python on top of CUDA, or just using one of three main DL libraries (Caffe, Torch, Theano).
- hellofunk 11y agoThis is just a strange thing to say. There are so many languages out there with very interesting features, I'm not sure why you insist python is the only obvious choice. In my experience, all of the advanced research for proprietary companies in this area is not being done on Python, at least not those who are willing to speak at conferences. There's a lot of GPU computing also available to Java, if you think that's the reason Python is the only option. Python is certainly more widely used as a teaching language, so I guess you might see more libraries that are widely known because of universities in the academic environment, but I'm not sure why you think that means that it's the only language that major institutions are using? Because the reality is that almost all the cutting edge stuff that I've read about is not being done in python at all.
- p1esk 11y agoCan you give an example where a cutting edge research is done using something other than Python or MatLab? The only exception is Facebook using Torch. In fact, Python dominance in DL is not just my opinion. Even Java devs admit it while trying to justify using Java for DL [1]: "We’re often asked why we chose to implement an open-source deep-learning project in Java, when so much of the deep-learning community is focused on Python." [1] http://deeplearning4j.org/compare-dl4j-torch7-pylearn.html http://deeplearning4j.org/compare-dl4j-torch7-pylearn.html
- hellofunk 11y agoSure, how about Prismatic, a big San Fran ML shop catering to several industries. They are nearly 100% Clojure.
- p1esk 11y agoFrom looking at their website Prismatic appears to be a start up building APIs to access ML tools and providing services for enterprise customers. I looked at their job postings and they don't seem to be very research oriented. What makes you think they are doing cutting edge research in DL?