Searching for tutorials and software about Deep Learning and Neural Nets? Be sure to look at my Resource Page!
Looking for Octave? Go to my Easy Octave on Mac page!

Tuesday, November 10, 2015

TensorFlow: iPython/Jupyter is the new Esperanto.

The latest and greatest to join the Python deep learning brigade is Google with its release of the in-house TensorFlow dataflow toolset. Dataflow means that the underlying programming model is a graph; the fundamental data type is a tensor ie. a multidimensional array.  Nodes are tensor operators that do the processing and data (tensors) move along the graph edges. You can read up on it at Wired, or go straight to the horse's mouth - here is the TensorFlow microsite, and in particular the white paper, dated Nov 9. Isn't it nice to live on the bleeding edge?

If you need installation instructions, I guess you can do worse than get the (Ana)Conda package control system for Python, and follow the setup described on my TensorFlow installation page. I did it on the Mac, but I think that if you use Conda my instructions are mostly platform-agnostic. The advantage of using Conda is that your Python environment is future proofed, bypassing all those 2.7 vs 3.0 issues; think of Conda as apt-get for Python.  For an old geek like me it took a couple of work sessions to figure things out, any bright kid should be able to do it in an about an hour by following my trail, or just reading Google's docs.

It seems like iPython is taking over the science world these days, serving as a scripting language for specialised modules. It's not really the Python language, it's the multi-language Jupyter notebook interface, which in my opinion is driving the latest exponential adoption of python: Notebooks are now the defacto science dev environment, with GIT becoming the community's publication archive for code. The Matlab guys had a good thing going, but being closed source ultimately deprived them of oxygen.

In the spirit of this blog as my online notebook, here are some more learning keywords and links. iPython and Jupyter can best be downloaded as complete distributions, of which Anaconda and Enthought Canopy are the most employed. I've installed Anaconda, which offers configuration management tools so one can work with various Python versions and incompatible package sets, escaping version hell.  The MNIST intro page for TensorFlow is here, complete with blue pill land red pill graphics only a pickup artist can love. Oh and by the way, Samsung's tools are at, and a random tutorial on writing nets from scratch in Python.

No comments:

Post a Comment

Hey, let me know what you think of my blog, and what material I should add!