Book Image

Java Deep Learning Cookbook

By : Rahul Raj
Book Image

Java Deep Learning Cookbook

By: Rahul Raj

Overview of this book

Java is one of the most widely used programming languages in the world. With this book, you will see how to perform deep learning using Deeplearning4j (DL4J) – the most popular Java library for training neural networks efficiently. This book starts by showing you how to install and configure Java and DL4J on your system. You will then gain insights into deep learning basics and use your knowledge to create a deep neural network for binary classification from scratch. As you progress, you will discover how to build a convolutional neural network (CNN) in DL4J, and understand how to construct numeric vectors from text. This deep learning book will also guide you through performing anomaly detection on unsupervised data and help you set up neural networks in distributed systems effectively. In addition to this, you will learn how to import models from Keras and change the configuration in a pre-trained DL4J model. Finally, you will explore benchmarking in DL4J and optimize neural networks for optimal results. By the end of this book, you will have a clear understanding of how you can use DL4J to build robust deep learning applications in Java.
Table of Contents (14 chapters)

What this book covers

Chapter 1, Introduction to Deep Learning in Java, provides a brief introduction to deep learning using DL4J.

Chapter 2, Data Extraction, Transformation, and Loading, discusses the ETL process for handling data for neural networks with the help of examples.

Chapter 3, Building Deep Neural Networks for Binary Classification, demonstrates how to develop a deep neural network in DL4J in order to solve binary classification problems.

Chapter 4, Building Convolutional Neural Networks, explains how to develop a convolutional neural network in DL4J in order to solve image classification problems.

Chapter 5, Implementing Natural Language Processing, discusses how to develop NLP applications using DL4J.

Chapter 6, Constructing LSTM Networks for Time Series, demonstrates a time series application on a PhysioNet dataset with single-class output using DL4J.

Chapter 7, Constructing LSTM Neural Networks for Sequence Classification, demonstrates a time series application on a UCI synthetic control dataset with multi-class output using DL4J.

Chapter 8, Performing Anomaly Detection on Unsupervised Data, explains how to develop an unsupervised anomaly detection application using DL4J.

Chapter 9, Using RL4J for Reinforcement Learning, explains how to develop a reinforcement learning agent that can learn to play the Malmo game using RL4J.

Chapter 10, Developing Applications in a Distributed Environment, covers how to develop distributed deep learning applications using DL4J.

Chapter 11, Applying Transfer Learning to Network Models, demonstrates how to apply transfer learning to DL4J applications.

Chapter 12, Benchmarking and Neural Network Optimization, discusses various benchmarking approaches and neural network optimization techniques that can be applied to your deep learning application.