Live data from Hacker News

Ask HN: Why TensorFlow instead of Theano for deep learning?

news.ycombinator.com

41–50 of 54 posts

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#41
post #34

Anyone who loves the Lisp concept of "code is data" will love TensorFlow. Instead of coding imperatively, you write code to build a computation graph. The graph is a data structure that fully describes the computation you want to perform (e.g. training or inference of a machine learning model). * That graph can be executed immediately, or stored for later. * Since it's a serializable data structure, you can version i…

> If you are building products / services that use ML and developing/training your own models (as opposed to taking pre-trained models and using them), there is really no credible competitor to TensorFlow.

MXNet has amalgamation http://mxnet.io/how_to/smart_device.html#amalgamation-making...

CNTK provides a managed ("evaluation") library solution to deploy your models and embed them in C, C++, C#, Python, and even an experimental Java version. https://docs.microsoft.com/en-us/cognitive-toolkit/CNTK-Eval...

How's that not competitive to TF? MXNet's approach is a bit unwieldy, yes, but seems easily streamlined. And CNTK's deployment method looks perfectly fine. Note I haven't checked other DL libs, but it seems unreasonable that Microsoft and Amazon have no "competitive" solution for deployment.

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#42
post #34

Anyone who loves the Lisp concept of "code is data" will love TensorFlow. Instead of coding imperatively, you write code to build a computation graph. The graph is a data structure that fully describes the computation you want to perform (e.g. training or inference of a machine learning model). * That graph can be executed immediately, or stored for later. * Since it's a serializable data structure, you can version i…

[deleted]

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#43
post #34

Anyone who loves the Lisp concept of "code is data" will love TensorFlow. Instead of coding imperatively, you write code to build a computation graph. The graph is a data structure that fully describes the computation you want to perform (e.g. training or inference of a machine learning model). * That graph can be executed immediately, or stored for later. * Since it's a serializable data structure, you can version i…

[deleted]

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#44
post #41
post #34

Anyone who loves the Lisp concept of "code is data" will love TensorFlow. Instead of coding imperatively, you write code to build a computation graph. The graph is a data structure that fully describes the computation you want to perform (e.g. training or inference of a machine learning model). * That graph can be executed immediately, or stored for later. * Since it's a serializable data structure, you can version i…

> If you are building products / services that use ML and developing/training your own models (as opposed to taking pre-trained models and using them), there is really no credible competitor to TensorFlow. MXNet has amalgamation http://mxnet.io/how_to/smart_device.html#amalgamation-making... CNTK provides a managed ("evaluation") library solution to deploy your models and embed them in C, C++, C#, Python, and even an…

I also completely forgot about Caffe(2), which I recall to always have been the most easily deployable library, and possibly DL4J.

http://www.cio.com/article/3193689/artificial-intelligence/w...

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#45
post #24

We've moved over to Tensorflow from Theano around a year ago. I'm a Software Engineer on the team and here's what I think are advantages from my POV: 1) Transition was fairly straightforward, both APIs' interfaces are more-or-less similar and share some design characteristics. 2) Having said that, TF's API is easier to use and without a doubt a lot easier to read. 3) Consistency: Deploying Theano in different environ…

> 6) Its development is extremely rapid, new releases every couple of months with a lot of improvements and new features every time. How stable is the api then? I think google is a bit notorious for this (e.g. Angular vs Angular 2).

[deleted]

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#46
post #24

We've moved over to Tensorflow from Theano around a year ago. I'm a Software Engineer on the team and here's what I think are advantages from my POV: 1) Transition was fairly straightforward, both APIs' interfaces are more-or-less similar and share some design characteristics. 2) Having said that, TF's API is easier to use and without a doubt a lot easier to read. 3) Consistency: Deploying Theano in different environ…

> 6) Its development is extremely rapid, new releases every couple of months with a lot of improvements and new features every time. How stable is the api then? I think google is a bit notorious for this (e.g. Angular vs Angular 2).

I am also interested in that - People seemingly are complaining a lot about broken RNN(Cell) functionality/insufficient regression testing. https://news.ycombinator.com/item?id=14576912

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#47

Earlier quoted context omitted.

"PyTorch is better for research" is a weird, unsubstantiated statement. The fact is that few serious researchers use PyTorch (and even those complain about it). It's mostly grad students in a handful of labs. The only researchers I know who use PyTorch have been from FaceBook, and that's because they were implicitly forced to use it (PyTorch is developed by FaceBook). According to https://medium.com/@karpathy/icml-ac…

Few people use PyTorch largely because it is relatively new (0.1.12). It even doesn't have distributed training capabilities (coming in 0.2). Your arguments don't say anything about frameworks themselves. It is unfair! When people say PyTorch is better for research, they mean it is more flexible, and it is easier to implement non-trivial network architectures with it, such as recursive network, which is a cumbersome…

Yep, to make it clear, TensorFlow is like Angular (acclaimed, widely used) and PyTorch is like React (much more flexible and composable). By the way, funny, both are made by respectively Google and Facebook. History repeats itself.

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#48
post #5

Earlier quoted context omitted.

I am kind of new to all of this but as far as I understood you can use Keras with TensorFlow as well.

Yes you can - if you're new its a remarkably painless way to get started, at least compared to the pain you would otherwise endure :-)

I remember when it took me an hour to understand what regularization is. These simple frameworks take that for granted. They are not really accessible if you don't have a good intuition about the algorithms, hyperparameters and architectures.

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#49
post #17

TensorFlow automatically discovers and uses GPUs and multiple cores, and I'm assuming Google is working on better supporting multiple GPUs, which currently requires hacks/tweaking to get speedups (it's easy to 'use' them) TensorFlow is a platform "winner" and approx 100% of all innovations will quickly be ported to TensorFlow - TBD which of the others will "keep up" with innovations as they continue to come out. othe…

Keras definitely means you lose control, but it's a tradeoff that's worth making in many cases.

dumb/quick q: why not simply add classes/functions to Keras ? I read the code and it looks pretty simple...

Re: Ask HN: Why TensorFlow instead of Theano for deep learning?

#50
post #13

The main reason to bet on TensorFlow is that it seems to have by far the greatest adoption of all frameworks, as evidenced by github statistics, HN polls, and other surveys: * https://twitter.com/fchollet/status/765212287531495424 * https://news.ycombinator.com/item?id=12391744 * https://github.com/aymericdamien/TopDeepLearning

Selection bias could mean that you're substantively wrong.
Post reply on HN