This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-05-08
Channels
- # aws (9)
- # beginners (69)
- # boot (14)
- # cider (26)
- # cljs-dev (56)
- # cljsrn (9)
- # clojars (4)
- # clojure (229)
- # clojure-brasil (1)
- # clojure-france (11)
- # clojure-greece (2)
- # clojure-italy (4)
- # clojure-mke (6)
- # clojure-serbia (6)
- # clojure-spec (83)
- # clojure-uk (38)
- # clojurescript (171)
- # core-async (3)
- # cursive (11)
- # data-science (11)
- # datomic (27)
- # emacs (113)
- # funcool (6)
- # hoplon (4)
- # jobs (1)
- # luminus (13)
- # lumo (44)
- # off-topic (148)
- # onyx (5)
- # overtone (1)
- # pedestal (4)
- # powderkeg (1)
- # proton (2)
- # re-frame (150)
- # reagent (16)
- # ring-swagger (43)
- # spacemacs (4)
- # specter (36)
- # vim (4)
- # yada (10)
So what’s the status of having something like Keras in the Clojure/Java domain 😉 ?
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/
@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.
just to be complete, there are other options as well, e.g. H2o's java api, xgboost, and vw to name a few
@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?
h2o can do some DL. The others no. Just suggesting h2o and xgboost when considering lambda-ml.
Clear. In that sense, there are probably many other systems that expose some java api, and are then accessible from clojure. TensorFlow for example.
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...
things like engagor help us pretend we're in clojure, but it is certainly just a wrapper. https://github.com/engagor/clj-vw