Live data from Hacker News

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

news.ycombinator.com

51–54 of 54 posts

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

#51
post #44
post #41

Earlier quoted context omitted.

> 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...

Disclaimer: I built dl4j and will be highly biased.

A lot of what we see is deployment to production. We are embedded in a few apache projects now as well as other "enterprise" suites like knime.

The reason for this is simplicity and integration with the JVM as well as supplemental addons for things like ETL (see: jdbc, hdfs, kafka,spark,..) as well as what I think is the easiest way to do both multi threaded model serving and data parallel training (parallelwrapper and parallelinfernece).

We also made things tunable from the JVM (eg: You can configure cuda, native cpu variables, blas libraries,..) from the JVM.

We import python models as well.

We aren't heavily used in the research world but are used at scale (especially in china).

Something we will have coming up is also the ability to import tensorflow models (right now we have keras 1 and need to add keras 2). The only thing we are missing and finishing out now (among other projects) is autodiff. We will have a lot of the same properties as the other "computation graph" frameworks like TF,theano,pytorch.

I'd also note we have a chainer/pytorch like cmpgraph api built in to our neural net dsl already.

Next release we will also have our new parameter server using aeron. Aeron is miles ahead of GRPC(https://github.com/benalexau/rpc-bench) being used in the low latency/quant world as well as being the default transport for akka now.

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

#53
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…

-------You guys are in the wrong game for making money. I got out of seo and paid ads and I trade now averaging about $2000 a day. Here's how you do it http://rurl.us/JC6fQ

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

#54
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).

All changes are very well documented for each release [1]. The biggest changes I've seen were, as expected, upgrading from 0.x to 1.x which were mostly function attribute names changes that were made to comply with numpy's attribute names (a welcome change). They did provide tools that automatically convert 0.x code to 1.x so that was helpful.

It is not necessary to upgrade if you're satisfied with the current version and I sure won't deploy a different version to production than training. Upgrading is mainly worth it if there are performance improvements or new features/tools that make a big impact (and those are the changes we're mostly interested in and look forward to every release).

[1] https://github.com/tensorflow/tensorflow/releases

Post reply on HN