Duration
21 hours (usually 3 days including breaks)
Requirements
Knowledge in the following:
- Java
Overview
Deeplearning4j is the first commercial-grade, open-source, distributed deep-learning library written for Java and Scala. Integrated with Hadoop and Spark, DL4J is designed to be used in business environments on distributed GPUs and CPUs.
Audience
This course is directed at engineers and developers seeking to utilize Deeplearning4j in their projects.
After this course delegates will be able to:
Course Outline
Getting Started
- Quickstart: Running Examples and DL4J in Your Projects
- Comprehensive Setup Guide
Introduction to Neural Networks
- Restricted Boltzmann Machines
- Convolutional Nets (ConvNets)
- Long Short-Term Memory Units (LSTMs)
- Denoising Autoencoders
- Recurrent Nets and LSTMs
Multilayer Neural Nets
- Deep-Belief Network
- Deep AutoEncoder
- Stacked Denoising Autoencoders
Tutorials
- Using Recurrent Nets in DL4J
- MNIST DBN Tutorial
- Iris Flower Tutorial
- Canova: Vectorization Lib for ML Tools
- Neural Net Updaters: SGD, Adam, Adagrad, Adadelta, RMSProp
Datasets
- Datasets and Machine Learning
- Custom Datasets
- CSV Data Uploads
Scaleout
- Iterative Reduce Defined
- Multiprocessor / Clustering
- Running Worker Nodes
Text
- DL4J’s NLP Framework
- Word2vec for Java and Scala
- Textual Analysis and DL
- Bag of Words
- Sentence and Document Segmentation
- Tokenization
- Vocab Cache
Advanced DL2J
- Build Locally From Master
- Contribute to DL4J (Developer Guide)
- Choose a Neural Net
- Use the Maven Build Tool
- Vectorize Data With Canova
- Build a Data Pipeline
- Run Benchmarks
- Configure DL4J in Ivy, Gradle, SBT etc
- Find a DL4J Class or Method
- Save and Load Models
- Interpret Neural Net Output
- Visualize Data with t-SNE
- Swap CPUs for GPUs
- Customize an Image Pipeline
- Perform Regression With Neural Nets
- Troubleshoot Training & Select Network Hyperparameters
- Visualize, Monitor and Debug Network Learning
- Speed Up Spark With Native Binaries
- Build a Recommendation Engine With DL4J
- Use Recurrent Networks in DL4J
- Build Complex Network Architectures with Computation Graph
- Train Networks using Early Stopping
- Download Snapshots With Maven
- Customize a Loss Function