TensorFlow 101
mubaris.com
mubaris.com
I don't think reading this will give you any understanding of what tensorflow is useful for, or how to do it.
The steps of writing a tensorflow program are always like the 'how to draw an owl'; first you define some simple tensors... then just, do the rest of it.
Step 1: Define tensors and inputs. OK!
Step 2: Linear regression. OK! (useless, but sure)
Step 3: Generate high resolution cat videos from a corpus of dog videos. Uh... ????
There are plenty of very good simple introductions to tensorflow.
The tensorflow tutorials themselves try to drop people in 'from the top' with high level practical examples, so we're good on that front too.
What's missing is a middle ground of 'and then do something practical but simple'.
You know what the 'best practice' advice for working with a GAN is?
Find someone else's implementation, copy it, and tweek the hyper parameters, change the input.
This is why I recommend people learn keras, not tensorflow; because it isn't super production ready and practical, but it will let you learn to build and test models easily.
...and if there's one 'programmers guide' to tensorflow, it's exactly that:
You don't just 'build' a tensorflow model; problem solved off you go.
Nope, you're going to be going back and tweaking and changing and randomly trying different stuff over and over again until you stumble into a 'good enough' solution to run with.
...and that solution; it might almost work for some other similar domains... but it probably doesn't generalize. You'll probably have to do the whole thing from scratch again.
Machine learning. Fun times.
Edit: good advice on using Keras. Keras is ‘understandable’ in the sense that reading the code for Keras itself is useful and Francois Chollet, creater of Keras, has a fantastic new book out - which I strongly recommend.
https://github.com/jeffheaton/aifh
For python, no libraries other than numpy are used in the examples. Which is not production friendly, but it offers insights into the concepts which I think is a good start.
Other libraries that people have used include PyTorch and Scikit-learn. But right now Tensorflow and CNTK might be among the fastest/more scalable.
Scalars -> Vectors -> Matrices -> Tensors (really tensors?)
but what you see are multidimensional arrays. It is of course not a big problem but probably could be clarified somewhere at least in small font to avoid ambiguity. Or Tensorflow objects are true tensors indeed?There's a big leap from relatively simple concepts to the relatively complex example for what is to be considered "101". I would still recommend that people start with https://www.tensorflow.org/get_started/get_started