Book Image

Hands-On Deep Learning with Apache Spark

By : Guglielmo Iozzia
Book Image

Hands-On Deep Learning with Apache Spark

By: Guglielmo Iozzia

Overview of this book

Deep learning is a subset of machine learning where datasets with several layers of complexity can be processed. Hands-On Deep Learning with Apache Spark addresses the sheer complexity of technical and analytical parts and the speed at which deep learning solutions can be implemented on Apache Spark. The book starts with the fundamentals of Apache Spark and deep learning. You will set up Spark for deep learning, learn principles of distributed modeling, and understand different types of neural nets. You will then implement deep learning models, such as convolutional neural networks (CNNs), recurrent neural networks (RNNs), and long short-term memory (LSTM) on Spark. As you progress through the book, you will gain hands-on experience of what it takes to understand the complex datasets you are dealing with. During the course of this book, you will use popular deep learning frameworks, such as TensorFlow, Deeplearning4j, and Keras to train your distributed models. By the end of this book, you'll have gained experience with the implementation of your models on a variety of use cases.
Table of Contents (19 chapters)
Appendix A: Functional Programming in Scala
Appendix B: Image Data Preparation for Spark

Preface

Deep learning is a subset of machine learning based on multilayer neural networks that can solve particularly hard and large-scale problems in areas such as natural language processing and image classification. This book addresses the sheer complexity of the technical and analytical parts, and the speed at which deep learning solutions can be implemented on top of Apache Spark.

The book starts with an explanation of the fundamentals of Apache Spark and deep learning (how to set up Spark for deep learning, the principles of distributed modeling, and different types of neural network). Then it moves to the implementation of some deep learning models, such as CNNs, RNNs, and LSTMs, on Spark. The readers will get hands-on experience of what it takes and a general feeling of the complexity of what they are dealing with. During the course of the book, popular deep learning frameworks such as DeepLearning4J (mostly), Keras, and TensorFlow will be used to implement and train distributed models.

The mission of this book is as follows:

  • To create a hands-on guide to implementing Scala (and in some cases, Python too) deep learning solutions that scale and perform
  • To make readers confident with using Spark via several code examples
  • To explain how to choose the model that best addresses a particular deep learning problem or scenario