
Chapter 2. Understanding TensorFlow
In this chapter, you will get an in-depth understanding of TensorFlow. This is an open source distributed numerical computation framework, and it will be the main platform on which we will be implementing all our exercises.
We will get started with TensorFlow by defining a simple calculation and trying to compute it using TensorFlow. After we successfully complete this, we will investigate how TensorFlow executes this computation. This will help us to understand how the framework creates a computational graph to compute the outputs and execute this graph through something known as a session. Then we will gain a hands-on experience of the TensorFlow architecture by relating how TensorFlow executes things, with the help of an analogy of how a restaurant might operate.
Having gained a good conceptual and technical understanding of how TensorFlow operates, we will look at some of the important computational operations that the framework offers. First, we will look at defining various data structures in TensorFlow, such as variables, placeholders and tensors, and we'll also see how to read inputs. Then we will work through some neural-network related operations (for example, convolution operation, defining losses, and optimization). Following this, we will learn how to reuse and efficiently manage TensorFlow variables using scoping. Finally, we will apply this knowledge in an exciting exercise, where we will implement a neural network that can recognize images of handwritten digits.