How To Train Your Dragon with Python
Ankur Shukla (~ankur67) |
Description:
A 100% accurate title would have been 'How To Train Your Neural Network with Python' but then training a neural network can sometimes be more daunting than training a dragon :P.
This workshop aims at giving you an update/upgrade on how can you train different neural network architectures in Python using awesome libraries such as Keras/Tensorflow. If you have been in the business of taming these beasts before it will be an update for you as a lot has changed in the recent past and it will be an upgrade if you are a new guy/girl in this territory.
The workshop aims at covering:
- Section 1 : 15 min
- Brief Introduction to Neural Networks
- Section 2 : 30 min
- The Framework of training a Neural Network in Python. In this section we look at the process of training a NN as a task of putting together blocks of
code and winding them together. The blocks are namely
- A Dataset (DeepSat (SAT-4) Airborne Dataset)
- A Beast (Neural Network Architecture)
- A Task
- The Framework of training a Neural Network in Python. In this section we look at the process of training a NN as a task of putting together blocks of
code and winding them together. The blocks are namely
- Section 3 : 20 min
- Quickly putting a data generation pipeline into place.
- A look at different variants of this code block present in Tensorflow
- Section 4 : 45 min
- A modular approach to building a neural network
- A high level overview and some tips and tricks for the following sub-block
- Layers
- Optimizer
- Loss
- Bringing the dragon to life: Computation Graph and Eager Execution
Section 5 : 10 min
- Understanding how much training is enough
Exercise : 15 min. This workshop would have some hands on exercises for the attendees on following topics for better intuition
- Pros and Cons of different loss functions
- Hands-on exercise to understand a popular training algorithm Gradient Descent
Key Take Away:
- The attendees will have a clear and modular idea about training a neural network using Tensorflow
- They will have clear intuition about different optimizers and losses and how they can be leveraged for different tasks
- They will get a clear understanding about what computation graphs are and what is Eager execution
- All these concepts will be demonstrated with help of a satellite image classification use case throughout the workshop
Environment Setup:
- Python 3.x (x>4)
- tensorflow==2.0.0-beta1
- DeepSat (SAT-4) Airborne Dataset on the machine
Prerequisites:
Working knowledge of the following is essential for this workshop:
- Python
- Tensorflow/Keras
- Object oriented programming in Python
Content URLs:
The following are some references :
Speaker Info:
I am a Data Scientist at Deloitte Consulting. I consult clients from different industries on their data science problems. Python is my bread and butter and I use it extensively for my day to day machine learning and data analysis tasks. I am postgraduate from CSRE, IIT Bombay in Geoinformatics and Natural Resources Engineering. Majority of my work at CSRE was focused in satellite image processing using Python.