Book Image

TensorFlow Machine Learning Projects

By : Ankit Jain, Amita Kapoor
Book Image

TensorFlow Machine Learning Projects

By: Ankit Jain, Amita Kapoor

Overview of this book

TensorFlow has transformed the way machine learning is perceived. TensorFlow Machine Learning Projects teaches you how to exploit the benefits—simplicity, efficiency, and flexibility—of using TensorFlow in various real-world projects. With the help of this book, you’ll not only learn how to build advanced projects using different datasets but also be able to tackle common challenges using a range of libraries from the TensorFlow ecosystem. To start with, you’ll get to grips with using TensorFlow for machine learning projects; you’ll explore a wide range of projects using TensorForest and TensorBoard for detecting exoplanets, TensorFlow.js for sentiment analysis, and TensorFlow Lite for digit classification. As you make your way through the book, you’ll build projects in various real-world domains, incorporating natural language processing (NLP), the Gaussian process, autoencoders, recommender systems, and Bayesian neural networks, along with trending areas such as Generative Adversarial Networks (GANs), capsule networks, and reinforcement learning. You’ll learn how to use the TensorFlow on Spark API and GPU-accelerated computing with TensorFlow to detect objects, followed by how to train and develop a recurrent neural network (RNN) model to generate book scripts. By the end of this book, you’ll have gained the required expertise to build full-fledged machine learning projects at work.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Understanding distributed TensorFlow


TensorFlow also supports distributed computing, allowing us to partition a graph and compute it on different processes. Distributed TensorFlow works like a client-server model, or to be more specific, a master-workers model. In TensorFlow, we first create a cluster of workers, with one being the master-worker. The master coordinates the distribution of tasks to different workers. 

The first thing to do when you have to work with many machines (or processors) is to define their name and job type, that is, make a cluster of machines (or processors). Each machine in the cluster is assigned a unique address (for example, worker0.example.com:2222), and they have a specific job, such as type: master (parameter server), or worker. Later, the TensorFlow server assigns a specific task to each worker. To create a cluster, we first need to define cluster specification. This is a dictionary that maps worker processes and jobs. The following code creates a cluster...