Book Image

Hands-On Neural Networks with TensorFlow 2.0

By : Paolo Galeone
Book Image

Hands-On Neural Networks with TensorFlow 2.0

By: Paolo Galeone

Overview of this book

TensorFlow, the most popular and widely used machine learning framework, has made it possible for almost anyone to develop machine learning solutions with ease. With TensorFlow (TF) 2.0, you'll explore a revamped framework structure, offering a wide variety of new features aimed at improving productivity and ease of use for developers. This book covers machine learning with a focus on developing neural network-based solutions. You'll start by getting familiar with the concepts and techniques required to build solutions to deep learning problems. As you advance, you’ll learn how to create classifiers, build object detection and semantic segmentation networks, train generative models, and speed up the development process using TF 2.0 tools such as TensorFlow Datasets and TensorFlow Hub. By the end of this TensorFlow book, you'll be ready to solve any machine learning problem by developing solutions using TF 2.0 and putting them into production.
Table of Contents (15 chapters)
Free Chapter
Section 1: Neural Network Fundamentals
Section 2: TensorFlow Fundamentals
Section 3: The Application of Neural Networks

Relearning the framework

As we introduced in Chapter 3, TensorFlow Graph Architecture, TensorFlow works by building a computational graph first and then executing it. In TensorFlow 2.0, this graph definition is hidden and simplified; the execution and the definition can be mixed, and the flow of execution is always the one that's found in the source code—there's no need to worry about the order of execution in 2.0.

Prior to the 2.0 release, developers had to design the graph and the source by following this pattern:

  • How can I define the graph? Is my graph composed of multiple layers that are logically separated? If so, I have to define every logical block inside a different tf.variable_scope.
  • During the training or inference phase, do I have to use a part of the graph more than once in the same execution step? If so, I have to define this part by wrapping it...