## Introduction

Since Keras is a Deep Learning framework, so before jumping onto Keras directly, Let's first quickly go through Deep Learning and TensorFlow to get a better understanding of the usage of Keras.

### Deep Learning

Deep learning is a subset of machine learning. In Deep Learning, we develop algorithms that can work similarly to the human brain. But, how do we make algorithms function like the human brain? What's the composition of the brain? A brain is primarily composed of neurons that can send and receive electrical signals. The processing of these signals is done inside the cell body. The output generated from these input signals is sent to other neurons. If we want to mimic the human brain, we have to create artificial neurons, which work the same as the biological neurons. So to implement Deep Learning, we'll need to create an artificial neural network consisting of the following three layers: an input layer, a hidden layer, and the output layer. So we use neural networks, which use multiple mathematical operations to break down a complex problem into smaller parts that can be solved individually. Each mathematical expression is called a Neuron.

source: Tibco.com

All the inputs are taken from the input layer, The processing is done inside the hidden layer, and the output is received via the output layer. The Neural Network contains layers of interconnected nodes, and each node is a perceptron and is similar to multiple linear regression. The perceptron feeds the signals obtained from multiple linear regressions into an activation function that might not be linear. Hidden layers apply weights to the inputs and direct them through an activation function as the output until the neural network's error margin is minimal, and we get the optimal result.

### Tensor flow

TensorFlow is an end-to-end open-source platform for machine learning. It is a software library created by Google to implement large-scale Machine Learning models and to solve complex numerical problems. It's like an infrastructure layer for differentiable programming. It can Efficiently execute low-level tensor operations on CPU, GPU, and TPU. It is also used to scale computation to multiple devices and export programs to external runtimes such as servers, browsers, and mobiles.

## Now let's understand; what is Keras?

Keras is a high-level deep learning API for implementing neural networks and is written in python. It supports multiple backend neural network computations and provides a convenient way to define and train almost any kind of deep learning model.

Keras is a powerful and easy-to-use free open-source python library for developing and evaluating Deep Learning models and can run on top of Tensorflow, CNTK, and Theano. It enables faster experimentation.