Introduction
Source- github.com
Keras is a powerful and easy-to-use free open-source python library for developing and evaluating deep learning models. It supports multiple backend neural network computations and makes implementing neural networks easy. Keras is a high-level API of TensorFlow too. It provides essential abstraction building blocks for developing and shipping machine learning solutions with high iteration velocity. Keras empowers engineers and researchers to take full advantage of TensorFlow's capability and cross-platform capability.
Applications
Keras productize the deep models on smartphones. Deep models require a lot of computation power to run, but with the help of Keras, we can make deep models a product that can be executed on smartphones.
Keras is used in the distributed training of deep learning models. Distributed training means that we can split our deep learning model into different parts and train it on systems all across the globe. This makes training of a deep learning model extremely fast. Along with saving time, we are also saving on the computational power of a system as it is not only our system that has to run such a heavy program. By distributing it across various systems, all the resources required to train a deep learning model go down significantly.
Keras provides deep learning models that are available with their pre-trained weights. After loading the models, the user can use them directly to make predictions, feature extraction, and fine-tuning. The pre-trained models are available in the 'application' module of Keras. Some available models are:
- VGG16
- VGG19
- InceptionV3
- MobileNet
- Resnet50, etc.
You can read the documentation of each model by visiting Documentation.
These pre-trained models can be loaded as:
import keras. models
import numpy as np
#The models are available in 'application' module
from keras.applications import vgg16, inception_v3, mobilenet
#Loading the VGG model
vgg_model = vgg16.VGG16(weights = 'imagenet')
#Loading the Inception_V3 model
inception_model = inception_v3.InceptionV3(weights = 'imagenet')
#Loading the MobileNet model
mobilenet_model = mobilenet.MobileNet(weights = 'imagenet')
Now we can use it for prediction, feature extraction, and fine-tuning.