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)

Preface

Deep learning has helped many industries/companies to solve big challenges, enhance their products, and strengthen their infrastructure. The advantage of deep learning is that you neither have to design decision-making algorithms nor make decisions regarding important dataset features. Your neural network is capable of doing both. We have seen enough theoretical books that leave the audience all at sea having explained complex concepts. It is also important to know how/when you can apply what you have learned, especially in relation to enterprise. This is a concern for advanced technologies such as deep learning. You may have undertaken capstone projects, but you also want to take your knowledge to the next level.

Of course, there are best practices in enterprise development that we may not cover in this book. We don't want readers to question themselves about the purpose of developing an application if it is too tedious to deploy in production. We want something very straightforward, targeting the largest developer community in the world. We have used DL4J (short for Deeplearning4j) throughout this book to demonstrate examples for the same reason. It has DataVec for ETL (short for Extract, Transform, and Load), ND4J as a scientific computation library, and a DL4J core library to develop and deploy neural network models in production. There are cases where DL4J outperforms some of the major deep learning libraries on the market. We are not degrading other libraries, as it all depends on what you want to do with them. You may also try accommodating multiple libraries in different phases if you don't want to bother switching to multiple technical stacks.