
TensorFlow: Large-Scale Machine Learning on Distributed Systems (2015) [pdf] - max_
http://download.tensorflow.org/paper/whitepaper2015.pdf
======
struct
Not to sound overly critical, but I don't enjoy the tone of this paper:
presenting the concepts (e.g. graph operations) and features (e.g. automatic
differentiation) of TensorFlow as new and novel when in fact very similar
systems like Theano have existed since at least 2010 (which they finally get
round to mentioning 14 pages in). They really should have shorn the paper in
half and just focused on the distributed bit, which is the really novel and
exciting bit.

Addendum/Edit: With that said, I don't want to disparage the amazing technical
achievement of the Google Brain team and the way TensorFlow really smartly
reuses and improves on the concepts that make Theano really powerful. I'm
following the project very closely and TensorFlow has a very high chance of
being the foundation for my future projects :)

~~~
crocal
Even on distribution, I fail to understand where the novel idea is. I must
miss something.

~~~
cinquemb
Sadly, most are only even paying attention because of the 100kg gorilla in the
room…

------
nxzero
>> "A computation expressed using TensorFlow can be executed with little or no
change on a wide variety of hetero- geneous systems, ranging from mobile
devices such as phones and tablets up to large-scale distributed systems of
hundreds of machines and thousands of computational devices such as GPU
cards."

Are there other comparable systems that deploy using the same build across all
platforms?

If not, putting aside other advantages like doing computation across multiple
machines, being able to using the same build is a major step forward in my
opinion.

~~~
mindcrime
_Are there other comparable systems that deploy using the same build across
all platforms?_

SystemML[1] doesn't, AFAIK, claim to scale down to mobile devices, but it does
scale from a single desktop machine up to an arbitrarily large distributed
cluster, using the same code. If you write code in DML or PyDML, the runtime
will take care of distributing it across the cluster. And it's "smart" enough
to take the cluster characteristics into account, and can also dynamically re-
evaluate stages of the computation as the job is running, so it's always
trying to use resources as efficiently as possible.

[1]: [https://systemml.apache.org/](https://systemml.apache.org/)

------
brudgers
_Preliminary White Paper_

A Google Beta by any other name would smell so sweet.

------
cheez
Are there APIs to do the training in C++? I can't get away with doing what I
want to do in the cloud (nor do I really want to).

Edit: I see [http://mlpack.org/](http://mlpack.org/) \- anyone have experience
using this?

~~~
covi
More C++ support is on our roadmap:

[https://github.com/tensorflow/tensorflow/blob/master/tensorf...](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/resources/roadmap.md#improve-
support-for-c-only-users)

------
lucasp82
Does anyone know what they used to generate those technical diagrams? Che
bella!

~~~
colah3
I drew the diagrams in Inkscape. (Naturally, this doesn't include the
screenshots of TensorBoard or EEG.)

------
dekhn
it's not a white paper, it's a full scientific publication.

~~~
collyw
Is it peer reviewed?

~~~
dekhn
That doesn't matter.

~~~
collyw
It does if you are claiming it is a full scientific publication.

