Live data from Hacker News

Show HN: Eclipse Deeplearning4j

projects.eclipse.org

31–40 of 41 posts

Re: Show HN: Eclipse Deeplearning4j

#31

Earlier quoted context omitted.

Honestly hard for me to care..They can both compete as well as integrate.No offense here but model import existing will become a common thing as things like ONNX become standard. We play up what's unique about Dl4j anyways. It's right in the name. We're square focused on the JVM. We also hedge our bets against spark. Most of our logic doesn't even run on spark. Spark is just a facilitator..it's not where anything tha…

Well interesting parallel you give here ! I have personally been campaigning for ONNX to merge/leverage Apache Arrow ( https://news.ycombinator.com/item?id=15195658 ). It probably makes sense for the efforts to build on top of each other. YMMV ;)

Integrating with arrow is on our bucket list as well. We plan on integrating with their tensor data type and format.

I feel like you're trying to cross 2 worlds that shouldn't be for arrow/ONNX though. You're trying to map a neural net description language to a columnar format..that doesn't make any sense to me. In our case, our runtime will understand both but for different reasons though.

We will import the format for our neural nets and integrate with arrow for our ETL -> tensor pipelines.

Re: Show HN: Eclipse Deeplearning4j

#32

For anyone that hasn't checked out Deeplearning4j yet, and think that Python is the only place where the cool AI stuff happens, you really should check this project out! Their Gitter channel is absolutely kicking, where lots of the actual devs, including CTO and co-founder Adam Gibson, hang out and /really/ answer /any/ question - I find their responsiveness stunning! (I discussed and reported a minor improvement to…

Thanks! Upcoming will be samediff which will allow a pytorch like api on the JVM as well as our python interface jumpy: https://github.com/deeplearning4j/jumpy The hope here is to be able to "meet" the python frameworks here and run side by side benchmarks that anyone who only knows TF could do. For those that don't know: DL4j is somewhere in between keras and TF flexibility wise. Samediff will be a bit "closer" to w…

I would like to chime in favor of python. The ecosystem is just too biased towards python to try and jump in anything else.

Also looking at https://deeplearning4j.org/keras

Could you have documentation which is helpful for the rest of us that use Linux ? Your choice of using docker is brilliant and hope that you make it significantly commandline driven and especially for GPU (nvidia-docker or something). Currently your documentation is extremly dependent on Kitematic and such.

Re: Show HN: Eclipse Deeplearning4j

#33
post #21

Earlier quoted context omitted.

But what if your training logic needs a change in ETL - You have to iterate on ETL too. So doing it inline makes a lot of sense. Microsoft has done something like this with SQL server + R offering. Personally I find the MS approach quite appalling. You have to load your model in a PLSQL script, so the ETL + running the model is seamless, but imagine debugging and oh forget about multi GPU support.

The part of the ETL you'd want to "crystallize" is just the transformation from raw data to feature vector. Beyond that, you already "change in ETL" when you experiment. I'm not sure how this changes anything. Out of nowhere you've sprinkled in "multi gpu support" which I'm not sure is relevant here. Do you mean as part of training? We handle the gpu bits for you. All you do is define your transform logic, it runs on…

I think he agreed with you..!

Re: Show HN: Eclipse Deeplearning4j

#34

For anyone that hasn't checked out Deeplearning4j yet, and think that Python is the only place where the cool AI stuff happens, you really should check this project out! Their Gitter channel is absolutely kicking, where lots of the actual devs, including CTO and co-founder Adam Gibson, hang out and /really/ answer /any/ question - I find their responsiveness stunning! (I discussed and reported a minor improvement to…

If you prefer Java over Python, some of the other more popular frameworks also have Java bindings. E.g. TensorFlow or CNTK.

The Java-TF binding is so shallow it is absurd, IMHO. Basically, you loose everything you have when coding TF in Python, but yes - you can import models and weights into your JVM and do inference there. If you want to create a graph, then you will have to code on a very low level - most of the abstractions and tools are gone.

Re: Show HN: Eclipse Deeplearning4j

#35

Earlier quoted context omitted.

The part of the ETL you'd want to "crystallize" is just the transformation from raw data to feature vector. Beyond that, you already "change in ETL" when you experiment. I'm not sure how this changes anything. Out of nowhere you've sprinkled in "multi gpu support" which I'm not sure is relevant here. Do you mean as part of training? We handle the gpu bits for you. All you do is define your transform logic, it runs on…

I think he agreed with you..!

Yeah sorry about that..I was a bit confused on how to read it. There was a lot mixed in there. I think we're clear now :D.

Re: Show HN: Eclipse Deeplearning4j

#36

Earlier quoted context omitted.

Thanks! Upcoming will be samediff which will allow a pytorch like api on the JVM as well as our python interface jumpy: https://github.com/deeplearning4j/jumpy The hope here is to be able to "meet" the python frameworks here and run side by side benchmarks that anyone who only knows TF could do. For those that don't know: DL4j is somewhere in between keras and TF flexibility wise. Samediff will be a bit "closer" to w…

I would like to chime in favor of python. The ecosystem is just too biased towards python to try and jump in anything else. Also looking at https://deeplearning4j.org/keras Could you have documentation which is helpful for the rest of us that use Linux ? Your choice of using docker is brilliant and hope that you make it significantly commandline driven and especially for GPU (nvidia-docker or something). Currently yo…

I actually don't think you are my target audience. We aren't targeting end python users. You have to remember: there are 2 ecosystems. Production at big companies and data scientists here.

I am not target data scientists. Granted, we will have python bindings later, but there's a huge amount of data engineers that know java just fine and need it for production. That's who I'm going after here.

You could try again when we have our python bindings out there..for now just wait I guess?

Re: Show HN: Eclipse Deeplearning4j

#37

Earlier quoted context omitted.

Why mix ETL and training? I am using TF, and in my workflow I first do all ETL in some separate process, dump all training/validation data into TFRecord file, and then my training program consumes it. Clear separation of concerns without any performance penalty. And I can iterate over training logic with various parameters as many times as I want without touching ETL.

Because you might want, as I definitely wanted, to also iterate over the feature engineering, not only the network and training parameters. Thus, doing ETL "inline" is really cool, and speeds up your iteration. It is also easy once you have a proper language that supports multi-threading. Since you do it "full speed" with full utilization of the GPU, there is no disadvantage of doing the ETL while training.

[deleted]

Re: Show HN: Eclipse Deeplearning4j

#38
For those wondering, why the heck are you guys java:

Our tensor library has a python interface in the making: https://www.slideshare.net/agibsonccc/strata-beijing-2017-ju...

Our goal with this will be then to write side by side benchmarks with the other libs that people can easily run. We know a lot of folks from python land won't jump over and we don't expect them to. The hope is that we're equivalent and can integrate better with a big data cluster.

Dl4j is not trying to be TF. When I started dl4j 4 years ago, it was theano and torch as the primary frameworks.

I wrote it for deployment in to production apps and for the hadoop/spark ecosystem.

We will continue that going forward at the eclipse foundation as well as using dl4j in our product.

Please check out the oreilly book as well (currently #2 on amazon right next to the goodfellow book):

https://amazon.com/Deep-Learning-Practitioners-Josh-Patterso...

Email in profile if there's any specific questions.

Re: Show HN: Eclipse Deeplearning4j

#39

For anyone that hasn't checked out Deeplearning4j yet, and think that Python is the only place where the cool AI stuff happens, you really should check this project out! Their Gitter channel is absolutely kicking, where lots of the actual devs, including CTO and co-founder Adam Gibson, hang out and /really/ answer /any/ question - I find their responsiveness stunning! (I discussed and reported a minor improvement to…

If you prefer Java over Python, some of the other more popular frameworks also have Java bindings. E.g. TensorFlow or CNTK.

I'm not exactly sure I'd call those "bindings". If you want an actual compelling competitor to us because we're not a big name, at least look at mxnet. That's more credible.

It's incredible that folks insist on this still. Both those frameworks aren't even going to be aiming for any level of integration with the JVM.

At least take a look at what makes us different.

A big one being: https://github.com/bytedeco/javacpp

We own the whole stack here and integrate pretty deeply. This has lead to some great performance improvements.

We aren't just "java bindings" but offering a lot more in one place than the other frameworks.

Also: I highly doubt you've even looked at the numbers.

We're actually doing pretty well in the rankings: https://twitter.com/fchollet/status/915366704401719296

We're not #1 but we have an actual user base.

I think a lot of our upcoming things like our python bindings where people don't have to "see" java and integrations with spark will win over some folks at big companies..maybe not DL researchers which is also fine. Our upcoming api will be like pytorch though.

Regardless: I'm not sure the framework will matter long term given that model import and things like ONNX are becoming more common.

Finally, I'll just say this: It doesn't hurt the ecosystem to have more competition and different interests than research.

Every single person who says this usually dismisses us for 1 silly reason or another ranging from:

1. Not a "big name" (despite being put in production by a ton of them)

2. Not a lot of research papers (yeah no crap we're not a research framework, we do have publications though!)

3. They see java bindings and can't tell the difference between a full application suite

and a tensor lib with java bindings generated by SWIG

4. Usually a PHD student at a university who hasn't worked at a large company and doesn't understand my actual target audience

Re: Show HN: Eclipse Deeplearning4j

#40

Earlier quoted context omitted.

If you prefer Java over Python, some of the other more popular frameworks also have Java bindings. E.g. TensorFlow or CNTK.

I'm not exactly sure I'd call those "bindings". If you want an actual compelling competitor to us because we're not a big name, at least look at mxnet. That's more credible. It's incredible that folks insist on this still. Both those frameworks aren't even going to be aiming for any level of integration with the JVM. At least take a look at what makes us different. A big one being: https://github.com/bytedeco/javacpp…

It sounds like you got a bit angry because of my comment? Sorry, I didn't meant to mean it negative in any way, esp nothing negative about DL4J. I just thought that it might be a good contribution to the discussion to have a more complete overview of the DL options in Java, as it was not mentioned here. Of course, there are advantages and disadvantages for each. E.g. TensorFlow might be more well-known but its Java bindings are lacking a lot of the tools which you have in the Python bindings. Also, despite the programming language, each framework underlying design has its advantages and disadvantages.

I know some people / companies who do the research and training in Python with TensorFlow and in production for inference they use the Java bindings (or C++). That works quite well.

Also, competition never hurts.

Post reply on HN