This chapter wraps up this book. In this book, we got familiar with Apache Spark and its components, and then we moved on to discover the fundamentals of DL before getting practical. We started our Scala hands-on journey with the DL4J framework by understanding how to ingest training and testing data from diverse data sources (in both batch and streaming modes) and transform it into vectors through the DataVec library. The journey then moved on to exploring the details of CNNs and RNNs the implementation of those network models through DL4J, how to train them in a distributed and Spark-based environment, how to get useful insights by monitoring them using the visual facilities of DL4J, and how to evaluate their efficiency and do inference.
We also learned some tips and best practices that we should use when configuring a production environment for training, and how it...