Keras is one of the most widely used frameworks for deep learning used today. It runs in Python and can run on top of TensorFlow, Theano and CNTK, and is therefore one of the primary choices for Deep Learning engineers these days.

However, I find that the Keras documentation is slightly… unwelcoming.

With that, I mean that the docs simply (and perhaps agreeably) describe the Keras APIs, thus the functions that can be used within Keras, without a thorough intuitive explanation about why certain things are as they are.

In this Collection, I will be working towards a comprehensive yet complete overview of Keras. I will teach you how it works and how you can create simple and more complex models in Python. Additionally, I will cover extensions to the Keras framework that have been developed by the deep learning community.

This way, you’ll be up to speed with Keras before you know!

If you wish to acquire more information about deep learning first or wish to know what these ‘Collections’ are, you may be interested in these links:

**Dissecting Deep Learning:**a Collection that covers the concepts of deep learning in a framework-agnostic way.**About the Collections project:**the rationale for why I’m putting a lot of time in these works, as well as what they are.

**Please note that this is a work in progress.** I always have the motto to publish whatever is ready which allows the reader to start learning already. That’s why you may find that many of the blogs noted below haven’t been finished yet. However, please come back every now and then, because I’ll do my best to add new ones as often as I can.

Also feel free to leave any comments below! đź™‚

## Table of contents

## Getting to know Keras

- What is Keras and why has it emerged?
- The architecture of Keras.
- The Sequential and the Functional APIs.

## The Keras Sequential API – basic examples

### Basic neural networks

- Why you canâ€™t truly create Rosenblattâ€™s Perceptron with Keras.
- How to create a basic MLP classifier with the Keras Sequential API
- Creating an MLP for regression with Keras
- Implementing ReLU, Sigmoid and Tanh activation functions in Keras
- How to use LiSHT activation function with Keras?
- How to use the FTSwish activation function with Keras?

### Loss functions

- How to use huber loss in Keras?
- How to use hinge & squared hinge loss with Keras?
- How to use categorical / multiclass hinge with Keras?
- How to use binary & categorical crossentropy with Keras?
- How to use sparse categorical crossentropy in Keras?
- How to use MAE, MSE, MAPE & RMSE with Keras?
- How to use Logcosh with Keras?
- How to use Kullback-Leibler divergence (KL divergence) with Keras?

### Convolutional Neural Networks

- How to create a Convolutional Neural Network classifier with Keras?
- What is depthwise separable convolution? A Keras example.
- A simple Conv3D example with Keras
- Transposed convolutions with Keras? Using Conv2DTranspose.
- How to upsample with Keras? Using Upsampling2D.
- Cropping your CNN input with Cropping layers in Keras.
- Harnessing ZeroPadding in Keras for uniform input.
- Max Pooling, Average Pooling, Global Max Pooling, Global Average Pooling – Examples in Keras.
- LocallyConnected layers in Keras.

### Recurrent Neural Networks

- A Keras SimpleRNN example.
- A Keras GRU example.
- LSTMs in Keras.
- Extending LSTMs with ConvLSTMs – a Keras example.

### Autoencoders

- Signal Noise Removal Autoencoder
- Image Denoiser Autoencoder
- Visualizing encoded state of an autoencoder
- Creating a variational autoencoer with Keras

## The Keras Sequential API – advanced examples

### Advanced Activation Layers

- Creating a LeakyReLU activating model in Keras.
- Using Keras to create a Parametric Rectified Linear Unit (PReLU) model.
- Exponential Linear Unit – a Keras based example.
- What is ThresholdedReLU? An example with Keras.

### Normalization & regularization

- BatchNormalization in Keras.
- How to use Dropout with Keras?
- AlphaDropout and GaussianDropout with Keras.
- Random data augmentation with GaussianNoise in Keras.

## The Keras Functional API – basic examples

Work in progress.

## The Keras Functional API – advanced examples

Work in progress

## Data Preprocessing with Keras

Work in progress.

## Model visualization

- How to visualize a model with Keras?
- How to visualize the training process in Keras?
- How to visualize the decision boundary for your Keras model?
- Visualizing Keras model inputs with Activation Maximization
- Visualizing Keras CNN attention: Saliency maps
- Visualizing Keras CNN attention: Grad-CAM Class Activation Maps
- Visualize layer outputs of your Keras classifier with Keract
- What do ConvNets see? Visualizing filters with Activation Maximization
- Visualizing encoded state of an autoencoder
- Visualizing Keras neural networks with Net2Vis and Docker

## Keras Callbacks

## Other Keras topics

- Avoid wasting resources with EarlyStopping and ModelCheckpoint in Keras
- Exploring the Keras Datasets
- Linearity vs nonlinearity with Keras: an example with classification.
- How to save and load your model with Keras?
- How to use Theano with Keras?
- How to predict new samples with your Keras model?
- How to enable Keras on your GPU?
- How is accuracy computed with Keras?
- How is Keras different from Tensorflow?
- How to prevent overfitting with Keras?
- How to pick an optimizer with Keras?
- How to add regularization to your Keras model?
- How to add Dropout to your Keras model?
- How to add layers to your Keras model?
- How to check if you’re using Keras/Tensorflow for GPU?