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

What this book covers

Chapter 1, The Apache Spark Ecosystem, provides a comprehensive overview of the Apache Spark modules and its different deployment modes.

Chapter 2, Deep Learning Basics, introduces the basic concepts of deep learning.

Chapter 3, Extract, Transform, Load, introduces the DL4J framework and presents training data ETL examples from diverse sources.

Chapter 4, Streaming, presents data streaming examples using Spark and DL4J DataVec.

Chapter 5, Convolutional Neural Networks, goes deeper into the theory behind CNNs and model implementation through DL4J.

Chapter 6, Recurrent Neural Networks, goes deeper into the theory behind RNNs and model implementation through DL4J.

Chapter 7, Training Neural Networks in Spark, explains how to train CNNs and RNNs with DL4J and Spark.

Chapter 8, Monitoring and Debugging Neural Network Training, goes through the facilities provided by DL4J to monitor and tune a neural network at training time.

Chapter 9, Interpreting Neural Network Output, presents some techniques to evaluate the accuracy of a model.

Chapter 10, Deploying on a Distributed System, talks about some of the things you need to take into consideration when configuring a Spark cluster, and the possibility of importing and running pre-trained Python models in DL4J.

Chapter 11, NLP Basics, introduces the core concepts of natural language processing (NLP).

Chapter 12, Textual Analysis and Deep Learning, covers some examples of NLP implementations through DL4J, Keras, and TensorFlow.

Chapter 13, Convolution, talks about convolution and object recognition strategies.

Chapter 14, Image Classification, drives through the implementation of an end-to-end image classification web application.

Chapter 15, What's Next for Deep Learning?, tries to give an overview of what's in store in the future for deep learning.