Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Introduction to Deep Learning with Keras and TensorFlow - Training Workshop @ PAPIs '17

Introduction to Deep Learning with Keras and TensorFlow - Training Workshop @ PAPIs '17

Summary

Deep Learning applications are at the leading edge of the current AI revolution.

TensorFlow is Google’s internally developed framework for deep learning, which has been growing in popularity since it was released as open source in 2015.

Keras is a high-level neural networks API, written in Python and capable of running on top of either TensorFlow, CNTK or Theano. It was developed with a focus on enabling fast experimentation and is now included as a TensorFlow contrib module.

We'll go through the core concepts of neural networks and then proceed with practical implementation of Deep Learning applications with Tensorflow and Keras.

Registration at papis.io/2017

Learning objectives

  • Understand the possibilities and limitations of neural networks and Deep Learning
  • Know how to structure and train neural networks models from image data
  • Know the primitives to implement a complete neural network with TensorFlow and Keras

Program

Each section contains theory and hands-on demos/exercises (where students can reproduce at the same time on their own laptops).

### Introduction to Neural Networks

  • Neural networks history
  • Main categories of networks
  • Deep Learning applications and example use cases

Convolutional Neural Networks (CNN)

  • Principles behind Convolutional Neural Networks (CNN)
  • Reinforcement learning from pre-trained models
  • [Hands-on] Develop an image recognition app with TensorFlow

Recurrent Neural Networks (RNN)

  • Principles behind Recurrent Neural Networks (CNN)
  • Sentiment analysis and word embeddings
  • [Hands-on] Develop a text sentiment analysis app with Keras

Monitoring and Evaluation

  • Monitoring the training process through development
  • Performance criteria for Deep Learning models and evaluation procedure
  • [Hands-on] Evaluating models with TensorBoard

Deployment

  • Packaging pre-trained models
  • [Hands-on] Deploying model inside a web API with Flask

Conclusions

  • Key take-aways
  • Resources to go further

Student requirements

  • Programming experience and basic knowledge of the Python syntax. Code will be provided for students to replicate what will be shown during hands-on demos. Please consult Codeacademy's Learn Python and Robert Johansson's Introduction to Python programming (in particular the following sections: Python program files, Modules, Assignment, Fundamental types, Control Flow et Functions) to learn or revise Python's basics.
  • Basic maths knowledge (undergraduate level) will be useful to better understand some of the theory behind learning algorithms, but it isn’t a hard requirement.
  • Own laptop to bring for hands-on practical work.

About Vincent

Vincent Van Steenbergen is a Senior R&D Engineer who's been working on a various range of Big Data projects using Deep Learning (recommender system, fraud detection). He regularly speaks at international conferences and meetups about Big Data tech stacks such as Scala, Akka, Spark as well as Machine Learning and Deep Learning.

Copyright

Vincent Van Steenbergen © 2017

ucals commented Sep 12, 2017

There's a typo: Principles behind Recurrent Neural Networks (RNN), not (CNN)
Looks pretty good, congrats!

chrizbo commented Sep 14, 2017

What time does the workshop start on Monday?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment