Deep Learning with Apache SINGA & R

Course Overview

Gain firsthand expertise on installing, configuring, and deploying Apache SINGA and make use of the Python APIs for running synchronous, asynchronous and hybrid training frameworks. Through practical guided exercises leverage the stochastic gradient descent (SGD) to find optimized parameters for many popular feed-forward models such as convolutional neural networks (CNN) and recurrent neural networks (RNN).

In cloud labs, practice job submission, training linear regression models, multi-layer perceptron models, convolutional neural network models, and a recurrent neural network model.

Be the expert of deploying complex deep learning models using Apache SINGA and Python.

At the end of the training, participants will be able to:

  1. Install and configure Apache SINGA through conda packages
  2. Gain a deep understanding of major components of the software stack of SINGA
  3. Access implementation and modules of SINGA stack through Python APIs
  4. Train a model on a single node or in a cluster Submit a job for training
  5. Train a linear regression model, multi-layer perceptron model, CNN, RNN
  6. Deliver scalable models that can work on the complex and large datasets

Pre-requisite

Required: Working knowledge of Python, Machine Learning, Deep Learning Models

Duration

2 days

Course Outline

  1. From Conda
  2. From Source in Linux with CPU Only
  3. Major Components of Software Stack
  4. Core: Tensor and Devices Abstactions for storing model variable and operation
  5. Model: Higher Level Classes for Machine Learning
  6. IO: Data Loading, Processing, Message Passing
  1. Python API for optimization of memory and executio
  1. Tensor Implementation for storing variables
  2. Linear algebraic operation with Tensor
  3. Python API
  1. Layer-Wrapping C++ Layers for simpler construction of APIs
  2. Layer-Python API
  3. Feedforward Net-Neural net classes for constructing nets using Layers
  4. Initializer-Popular initialization methods for parameters values
  5. Initializer-Python API
  6. Loss-Training loss implementation using python tensor
  7. Metric-Evaluating model’s performance using Python
  8. Optimizer-Optimizing model parameters
  1. Data-Loading and fetching data batches
  2. Image Tool-Utility model for image augmentation
  1. Quick Start
  2. Training on a Single Node
  3. Preparing data and job configuration
  4. Training without parallelism
  5. Asynchronous parallel training
  6. Synchronous parallel training
  7. Training in a Cluster
  8. Starting Zookeeper
  9. Training with GPUS
  1. NeuralNet
  2. TrainOneBatch
  3. Updater
  4. Cluster Topology
  1. Using Tensor module of PySINGA
  2. Generating Training Data
  3. Training via SGD
  1. Importing PySINGA modules
  2. Generating Training Data
  3. Creating MLP Model
  4. Training the model
  1. Data Preparation
  2. Creating CNN Model
  3. Initializing the Parameters
  4. Setting up the optimizer and tensors
  5. Conducting SGD
  6. Saving and Loading the model
  7. Prediction & Dubugging
  1. Dataset Pre-processing
  2. Creating the network
  3. Conducting SGD
  4. Checkpoint
  5. Sample

Reviews