Fork me on GitHub
#data-science
<
2017-05-08
>
joelkuiper11:05:03

So what’s the status of having something like Keras in the Clojure/Java domain 😉 ?

jsa-aerial14:05:19

There are several things. For *NN, Cortex is looking to be the go to thing: https://github.com/thinktopic/cortex. For traditional stuff, lambda-ml is probably what you want: https://github.com/cloudkj/lambda-ml. Cortex does work on GPU, and is more like tensorflow/torch, but arguably friendlier for 'direct use'. For more 'roll your own', but with truly state of the art performance, there is http://uncomplicate.org/

blueberry14:05:51

@joelkuiper @jsa-aerial I agree with what's been mentioned, and just want to add that with ClojureCUDA and the forthcoming cuBLAS backend for neanderthal, the "roll your own" approach will be a bit more feasible when it comes to deep learning, since cuDNN will be one step closer.

aaelony19:05:39

just to be complete, there are other options as well, e.g. H2o's java api, xgboost, and vw to name a few

blueberry21:05:31

@aaelony I believe @joelkuiper is interested in deep learning and neural network - based offering, since he asked about keras. Aren't vw and xgboost completely different thing than that, or they can do DL?

aaelony21:05:53

h2o can do some DL. The others no. Just suggesting h2o and xgboost when considering lambda-ml.

blueberry21:05:26

Clear. In that sense, there are probably many other systems that expose some java api, and are then accessible from clojure. TensorFlow for example.

blueberry21:05:31

There are two main issues that I have with that approach (but may not be relevant to other people): 1) Communication overhead related to both performance, and (even more) un-clojuriness that it dictates to the whole application; and 2) If I need to customize the algorithm, I have to forget doing it in Clojure...

aaelony21:05:00

totally agree

aaelony21:05:10

things like engagor help us pretend we're in clojure, but it is certainly just a wrapper. https://github.com/engagor/clj-vw