Introduction to Deep Learning with Tensorflow and Keras

Deep Learning (DL) is a fast growing and exciting sub-field of machine learning and AI that has recently made extraordinary advancements in many applications such as image recognition, natural language processing, speech transcription, classification and prediction.

This introductory course focuses on giving you a firm foundation of deep learning techniques using a combination of presentations and hands-on exercises. The presentations introduce essential background and theory and allow for questions and discussions. And the exercises use Jupyter notebooks with Keras and Tensorflow to show you the essentials of building and training neural nets.

Deep learning can transform any industry. This course will help you find creative ways to apply it to yours.

... you squeezed the mystery out of the phrase “deep learning”. And also, that you emphasized that there is some art to this, at least this year, not some one-size-fits-all recipe.

Concrete examples of code and explanation of why to use them and how they work are the best thing. It was great also to have the Q&A.

... the pace of the class. Just right ... I think you hit the spot on this ... your patience with everyone interrupting was impressive! ... answering all questions helped me understand concepts better.

You'll learn:

  • The fundamentals of deep learning including

    • how to build dense / fully connected networks
    • how to use convolutional layers
    • when to use recurrent LSTM/GRU networks
    • how to choose an optimizer and loss function
    • when to use dropout and batch normalization
    • how to prepare training and test data
    • and more
  • How to navigate the options and decisions for different model architectures.
  • Efficiently use and fine-tune pre-trained models.

So that you can:

  • identify important and appropriate questions
  • collect and prepare real world data
  • design and train effective models

... to get the answers you need for your business and career.

You'll get the most out of this course if:

  • You have a familiarity with Python and Numpy.
  • You have a deep curiosity and interest in learning about machine learning.
  • You want to understand and work with cutting edge deep learning approaches with complex data.

Note: You don't need to be a math wizard - this is a hands on practical class. Though knowing more is always helpful, deep understanding of linear algebra and and calculus are not necessary. We will cover all the math basics necessary to get started in the class.

Topics

This course can be given as two separate one day courses or as a back to back two day course.

Day 1

  1. Overview
  2. Fully Connected NNs in Keras
  3. Just Enough Theory
  4. Convolutional NNs
  5. Recurrent Neural Networks

Day 2

  1. Data Prep
  2. Keras Deep Dive
  3. NN Architectures
  4. Transfer Learning
  5. Tensorflow
  6. Production and Deployment

Preparation

This is a hands on course and we'll do the exercises in Jupyter notebooks. You can use a hosted notebook server or you can run jupyter on your own laptop. Any hosted server will do as long TensorFlow and Keras are available or can be installed. We recommend using Google Colabatory.

If you'd like to work with software installed on your own laptop we suggest you download and install Conda and use to to install Python3, Numpy, Pandas, Jupyter, Tensorflow and Keras.

A docker image with the necessary software pre-installed will also be made available.

Also, feel free to bring a CSV of a data set you are interested in exploring and a description of what you'd like to predict.

This course is given live at your facility or at a public venue. Please contact me for availability, pricing and details