Mastering Keras

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:

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! 🙂

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

Convolutional Neural Networks

  • What are the differences between Keras Conv1D, Conv2D and Conv3D?
  • How to create a Convolutional Neural Network classifier with Keras?
  • What is depthwise separable convolution? A Keras example.
  • What is transposed convolution? A Keras example.
  • Creating Deep Convolutional Autoencoders with Keras.
  • Cropping your CNN input with Cropping layers in Keras.
  • How to use Upsampling in Keras? A practical example.
  • 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.

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.


  • BatchNormalization in Keras.
  • Dropout, 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.

Other Keras topics