Deep Learning With BigDL

Overview

The abundance of data and an affordable cloud-scale has led to an explosion of interest in Deep Learning. Intel has released an excellent library called BigDL to open-source, allowing state-of-the-art machine learning done at scale.

This course introduces Deep Learning concepts and the BigDL library to students.

Why should you use BigDL?  Use BigDL if you want to get the power of Deep Learning on your ML workflows on Spark and Hadoop.     Do you find yourself using SVMs and Random Forests for everything on Spark MLlib?   Wish you could do deep learning instead?

What you will learn

  • Introduction to Deep Learning
  • Deep Learning concepts
  • Introducing the BigDL Library
  • RDD API versus Pipeline API
  • Using BigDL with Tensorflow and Caffe models.
  • Visualizing Deep Learning Data with Tensorboard
  • Scaling Deep Learning with massive distributed data

Duration

3 Days

Audience

Developers, Data analysts, data scientists

Prerequisites

  • Basic knowledge of Python language and Jupyter notebooks is assumed.
  • Basic knowledge of Linux environment would be beneficial
  • Some Machine Learning familiarity would be nice, but not necessary.

Lab environment

Cloud servers will be provided to students for installation, administration, and lab work. Students would need a SSH client and a browser to access the cluster. Most labs will be in jupyter notebook format.

Detailed Course Outline

Introduction to Deep Learning

    • Understanding Deep Learning
    • Activation Functions, Loss Functions, and Gradient Descent
    • Training and Validation
    • Regression vs. Classification

Introducing BigDL

    • BigDL intro
    • BigDL Features
    • BigDL Versions
    • BigDL and Hadoop
    • Apache Spark
    • Lab: Setting up and Running BigDL

BigDL Execution Model

    • Introducing BigDL’s Execution Model
    • Understanding Basic BigDL Layers
    • Understand how BigDL runs on top of Apache Spark workloads.
    • Lab: BigDL Layers

Single Layer Linear Perceptron Classifier With BigDL

    • Introducing Perceptrons
    • Linear Separability and Xor Problem
    • Activation Functions
    • Softmax output
    • Backpropagation, loss functions, and Gradient Descent
    • Lab: Single-Layer Perceptron in BigDL

Hidden Layers: Intro to Deep Learning

    • Hidden Layers as a solution to XOR problem
    • Distributed Training with BigDL
    • Vanishing Gradient Problem and ReLU
    • Loss Functions
    • Using Tensorboard to Visualize Training
    • Lab: Feedforward Neural Network Classifier in Tensorflow

High-level BigDL: the Pipeline API and Dataframes

    • Using high-level BigDL
    • Developing a model with pipeline API
    • Lab: Developing a pipeline API model

Convolutional Neural Networks in BigDL

    • Introducing CNNs
    • CNNs in BigDL
    • CNN’s for image classification
    • Lab: Convolutional Neural Networks

Tensorflow and Caffe Models in BigDL

    • How to export and import models in BigDL
    • Transfer Learning with BigDL
    • ImageNet and other pre-trained models.
    • Lab: Example with a Caffe model

Recurrent Neural Networks in BigDL

    • Introducing RNNs
    • RNNs in BigDL
    • Lab: RNN

Long Short Term Memory (LSTM) in BigDL

    • Introducing RNNs
    • RNNs in BigDL
    • Lab: RNN

Conclusion

    • Summarize features and advantages of BigDL
    • Summarize Deep Learning and How BigDL can help
    • Next steps