Google CEO Sundar Pichai said clearly:
“Machine learning is a core, transformative way by which we’re rethinking everything we’re doing”
If this is where Google is heading (and come on we all know that Google is ultimately going to be the dominant force that’s going to change the way the world is heading) then as a machine learning student why not learn the machine learning library that Google introduced ?
Yes its true there are other older libraries such as Scikit Learn, Theano and so on. But the one year old baby library TensorFlow is kicking ass of every ML library out there. (Well it isn’t a big surprise, is it? After all it is from Google)
The library is the successor to the Distbelief which Google used internally for its work. With the upgrades and modification with more focus on deep learning they introduced TensorFlow last year and since then it is on a fast journey winning so many peoples’ praise. This is the Google Brain’s second generation machine learning system.
Just to get an idea on how popular this thing is becoming, following are two snap shots of the Github repositories I took just now. See the difference between the Theano and TensorFlow.
Either its just the hype that is droving people to try out TensorFlow or its that good. So I thought lets not take anyone’s word for it, lets try it out. And its kind of cool actually. I admit I haven’t worked with Theano but I have worked with Scikit Learn. Tensorflow seems to have some elegance of its own in my opinion. (hey then again what the hell do I know)
Anyway I thought of learning TensorFlow and I will keep my notes here so it will be helpful for someone out there.
Before ending this article there is one more question to answer, Whats up with the name ? Its bit odd right ? Well, TensorFlow is running its programs in a kind of a different way. First we have to create a Graph which describes all the computational flows from beginning to end. Then we have to execute this graph in a Session. (we will cover what these are in the coming discussions). The graph is a data flow graph which is taking Tensors (Feeds) and giving out Tensors (Fetches) at each node. Since its Tensors Flowing through the graph, it is ‘TensorFlow’. Get it ?
On a later day we will disuss all the fuss about CPU, GPU and the efficiency in parallel processing due to TensorFlow’s approch. For now we will start from the very beginning. Flowing with TensorFlow 02 – Hello World