First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Neural Networks and Deep Learning in C/C++ for NVidia Jetson TX

Duration: 5 Days

Intended Audience

This course is for experienced C/C++ programmers who also have some familiarity with CUDA who are planning to develop applications involving the use of Neural Network based machine learning techniques, and to deploy trained neural networks implemented using CUDA on the NVidia Jetson TX.

Course Overview

The course covers the most important aspects of the machine learning using Neural Networks and also covers the use of Tensor Flow and Torch - running on both ARM Cortex 64 bit cores and CUDA implementations running on NVidia GPUs. The course will introduce the NVidia CUDA Deep Neural Network library (cuDNN) and the NVidia DIGITS Deep Learning System. The course will cover the major types of Neural Network training paradigms both supervised and unsupervised.

Course Contents

  • Neural Networks and Machine Learning - an Introduction
    • Neurons, Neural layers, Activation functions
    • Neural Networks
    • Learning abilities of Neural Networks
  • Perceptrons and Supervised Learning
    • Supervised learning and multi-layer perceptrons
    • Learning in multi-layer perceptrons
    • Limitations of multi-layer perceptronsv
  • Essential Mathematical Underpinnings and Concepts
    • Linear prediction
    • Maximum likelihood
    • Regularisers
    • Basis functions
    • Cross validators
    • Optimisation
    • Logistic regression
  • Multi-layer Neural Networks
    • Sigmoid neurons
    • Input layer + Hidden layer + Output layer architecture
    • Backpropagation and layer design of neural networks
    • Supervised vs. Unsupervised Learning
    • Introduction to Restricted Boltzmann Machines
  • Implementing Neural Networks and Backpropagation
    • Survey of open source C/C++ Neural Network Libraries
    • Implementing Neural Networks using Torch - LuaJIT and C
    • Introduction to Google's Tensor Flow
    • Practical introduction to implementing Neural Networks with NVidia cuNN and Digits
  • Deep Learning Neural Networks
    • Restricted Boltzmann Machines
    • Supervised Feedforward Networks
    • Deep learning with Torch
    • Convolutional neural networks
    • Max-margin learning and siamese networks
    • Recurrent neural networks and LSTM (Long Short Term Memory)
    • Variational autoencoders
    • Torch and Tensor Flow using CUDA NVidia Libraries
  • Deploying trained Neural Networks on Jetson TX2 Processors