**Course Zero to Deep Learning with Python and Keras** – Understand and build Deep Learning models for images, text, sound and more using Python and Keras.

**Language:** English

**Platform:** Udemy

### What you´ll learn

- To describe what Deep Learning is in a simple yet accurate way
- To explain how deep learning can be used to build predictive models
- To distinguish which practical applications can benefit from deep learning
- To install and use Python and Keras to build deep learning models
- To apply deep learning to solve supervised and unsupervised learning problems involving images, text, sound, time series and tabular data.
- To build, train and use fully connected, convolutional and recurrent neural networks
- To look at the internals of a deep learning model without intimidation and with the ability to tweak its parameters
- To train and run models in the cloud using a GPU
- To estimate training costs for large models
- To re-use pre-trained models to shortcut training time and cost (transfer learning)

### Prerequisites

- Knowledge of Python, familiarity with control flow (if/else, for loops) and pythonic constructs (functions, classes, iterables, generators)
- Use of bash shell (or equivalent command prompt) and basic commands to copy and move files
- Basic knowledge of linear algebra (what is a vector, what is a matrix, how to calculate dot product)
- Use of ssh to connect to a cloud computer

### Description

This course is designed to provide a complete introduction to Deep Learning. It is aimed at beginners and intermediate programmers and data scientists who are familiar with Python and want to understand and apply Deep Learning techniques to a variety of problems.

We start with a review of Deep Learning applications and a recap of Machine Learning tools and techniques. Then we introduce Artificial Neural Networks and explain how they are trained to solve Regression and Classification problems.

Over the rest of the course we introduce and explain several architectures including Fully Connected, Convolutional and Recurrent Neural Networks, and for each of these we explain both the theory and give plenty of example applications.

This course is a good balance between theory and practice. We don’t shy away from explaining mathematical details and at the same time we provide exercises and sample code to apply what you’ve just learned.

The goal is to provide students with a strong foundation, not just theory, not just scripting, but both. At the end of the course you’ll be able to recognize which problems can be solved with Deep Learning, you’ll be able to design and train a variety of Neural Network models and you’ll be able to use cloud computing to speed up training and improve your model’s performance.

### Who is the target audience?

- Software engineers who are curious about data science and about the Deep Learning buzz and want to get a better understanding of it
- Data scientists who are familiar with Machine Learning and want to develop a strong foundational knowledge of deep learning

### Course content:

Welcome to the course!

- Introduction
- Real world applications of deep learning
- Download and install Anaconda
- Installation Video Guide
- Obtain the code for the course
- Course Folder Walkthrough
- Your first deep learning model

Data

- Tabular data
- Data exploration with Pandas code along
- Visual data Exploration
- Plotting with Matplotlib
- Unstructured Data
- Images and Sound in Jupyter
- Feature Engineering
- Exercises

Machine Learning

- Machine Learning Problems
- Supervised Learning
- Linear Regression
- Cost Function
- Cost Function code along
- Finding the best model
- Linear Regression code along
- Evaluating Performance
- Evaluating Performance code along
- Classification
- Classification code along
- Overfitting
- Cross Validation
- Cross Validation code along
- Confusion matrix
- Confusion Matrix code along
- Feature Preprocessing code along
- Exercises

Deep Learning Intro

- Deep Learning successes
- Neural Networks
- Deeper Networks
- Neural Networks code along
- Multiple Outputs
- Multiclass classification code along
- Activation Functions
- Feed forward
- Exercises

Gradient Descent

- Derivatives and Gradient
- Backpropagation intuition
- Chain Rule
- Derivative Calculation
- Fully Connected Backpropagation
- Matrix Notation
- Numpy Arrays code along
- Learning Rate
- Learning Rate code along
- Gradient Descent
- Gradient Descent code along
- EWMA
- Optimizers
- Optimizers code along
- Initialization code along
- Inner Layers Visualization code along
- Exercises
- Tensorboard

Convolutional Neural Networks

- Features from Pixels
- MNIST Classification
- MNIST Classification code along
- Beyond Pixels
- Images as Tensors
- Tensor Math code along
- Convolution in 1 D
- Convolution in 1 D code along
- Convolution in 2 D
- Image Filters code along
- Convolutional Layers
- Convolutional Layers code along
- Pooling Layers
- Pooling Layers code along
- Convolutional Neural Networks
- Convolutional Neural Networks code along
- Weights in CNNs
- Beyond Images
- Exercises

Cloud GPUs

- Floyd GPU notebook setup

Recurrent Neural Networks

- Time Series
- Sequence problems
- Vanishing Gradients
- Vanilla RNN
- LSTM and GRU
- Time Series Forecasting code along
- Time Series Forecasting with LSTM code along
- Rolling Windows
- Rolling Windows code along
- Exercises

Improving performance

- Learning curves
- Learning curves code along
- Batch Normalization
- Batch Normalization code along
- Dropout
- Dropout and Regularization code along
- Data Augmentation
- Continuous Learning
- Image Generator code along
- Hyperparameter search
- Embeddings
- Embeddings code along
- Movies Reviews Sentiment Analysis code along
- Exercises