Book Image

Java Deep Learning Essentials

By : Yusuke Sugomori
Book Image

Java Deep Learning Essentials

By: Yusuke Sugomori

Overview of this book

AI and Deep Learning are transforming the way we understand software, making computers more intelligent than we could even imagine just a decade ago. Deep Learning algorithms are being used across a broad range of industries – as the fundamental driver of AI, being able to tackle Deep Learning is going to a vital and valuable skill not only within the tech world but also for the wider global economy that depends upon knowledge and insight for growth and success. It’s something that’s moving beyond the realm of data science – if you’re a Java developer, this book gives you a great opportunity to expand your skillset. Starting with an introduction to basic machine learning algorithms, to give you a solid foundation, Deep Learning with Java takes you further into this vital world of stunning predictive insights and remarkable machine intelligence. Once you’ve got to grips with the fundamental mathematical principles, you’ll start exploring neural networks and identify how to tackle challenges in large networks using advanced algorithms. You will learn how to use the DL4J library and apply Deep Learning to a range of real-world use cases. Featuring further guidance and insights to help you solve challenging problems in image processing, speech recognition, language modeling, this book will make you rethink what you can do with Java, showing you how to use it for truly cutting-edge predictive insights. As a bonus, you’ll also be able to get to grips with Theano and Caffe, two of the most important tools in Deep Learning today. By the end of the book, you’ll be ready to tackle Deep Learning with Java. Wherever you’ve come from – whether you’re a data scientist or Java developer – you will become a part of the Deep Learning revolution!
Table of Contents (15 chapters)
Java Deep Learning Essentials
About the Author
About the Reviewers
Other Important Deep Learning Libraries


Caffe is a library famous for its speed. The official project page is and the GitHub page is Similar to TensorFlow, Caffe has been developed mainly with C++, but it provides a Python and MATLAB API. In addition, what is unique to Caffe is that you don't need any programming experience, you just write the configuration or protocol files, that is .prototxt files, to perform experiments and research with deep learning. Here, we focus on the protocol-based approach.

Caffe is a very powerful library that enables quick model building, training, and testing; however, it's a bit difficult to install the library to get a lot of benefits from it. As you can see from the installation guide at, you need to install the following in advance:

  • CUDA

  • BLAS (ATLAS, MKL, or OpenBLAS)

  • OpenCV

  • Boost

  • Others: snappy, leveldb, gflags, glog, szip, lmdb, protobuf, and hdf5

Then, clone the repository from...