Comparison of GRU and LSTM in keras with an example

This recipe explains the key points of GRU and LSTM also the difference between GRU and LSTM using Keras in python is given

Recipe Objective

Difference between a GRU and LSTM. Explaining with an example.

The key difference between GRU and LSTM is that GRU's bag has two gates that are reset and update while LSTM has three gates that are input, output, forget. GRU is less complex than LSTM because it has less number of gates.

If the dataset is small then GRU is preferred otherwise LSTM for the larger dataset.

GRU exposes the complete memory and hidden layers but LSTM doesn't.

Get Closer To Your Dream of Becoming a Data Scientist with 70+ Solved End-to-End ML Projects

Step 1- Importing Libraries

import keras from keras.models import Sequential from keras.layers import GRU, LSTM import numpy as np

Step 2- Defining two different models

We will define two different models and Add a GRU layer in one model and an LSTM layer in the other model.

# define model where GRU is also output layer model_1 = Sequential() model_1.add(GRU(1, input_shape=(20,1))) model_1.compile(optimizer='adam', loss='mse') # define model where LSTM is also output layer model_2 = Sequential() model_2.add(LSTM(1, input_shape=(50,1))) model_2.compile(optimizer='adam', loss='mse')

 

Explore More Data Science and Machine Learning Projects for Practice. Fast-Track Your Career Transition with ProjectPro

Step 3- Define a sample array.

We will define a sample array to run in both models.

# input time steps y = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40]]).reshape((5,10,1)) # make and show prediction print(model_1.predict(y))

[[6.1044526e-01]
 [4.0416101e-01]
 [1.4171210e-02]
 [1.2617696e-04]
 [8.3446486e-07]]

# input time steps y = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40]]).reshape((5,10,1)) # make and show prediction print(model_2.predict(y))

[[-1.9881524e-02]
 [-5.2695298e-01]
 [-3.5639611e-04]
 [-3.7144428e-06]
 [-2.5736982e-08]]

Join Millions of Satisfied Developers and Enterprises to Maximize Your Productivity and ROI with ProjectPro - Read ProjectPro Reviews Now!

What Users are saying..

profile image

Savvy Sahai

Data Science Intern, Capgemini
linkedin profile url

As a student looking to break into the field of data engineering and data science, one can get really confused as to which path to take. Very few ways to do it are Google, YouTube, etc. I was one of... Read More

Relevant Projects

Credit Card Default Prediction using Machine learning techniques
In this data science project, you will predict borrowers chance of defaulting on credit loans by building a credit score prediction model.

Create Your First Chatbot with RASA NLU Model and Python
Learn the basic aspects of chatbot development and open source conversational AI RASA to create a simple AI powered chatbot on your own.

OpenCV Project to Master Advanced Computer Vision Concepts
In this OpenCV project, you will learn to implement advanced computer vision concepts and algorithms in OpenCV library using Python.

End-to-End ML Model Monitoring using Airflow and Docker
In this MLOps Project, you will learn to build an end to end pipeline to monitor any changes in the predictive power of model or degradation of data.

Loan Eligibility Prediction using Gradient Boosting Classifier
This data science in python project predicts if a loan should be given to an applicant or not. We predict if the customer is eligible for loan based on several factors like credit score and past history.

Expedia Hotel Recommendations Data Science Project
In this data science project, you will contextualize customer data and predict the likelihood a customer will stay at 100 different hotel groups.

Build a Autoregressive and Moving Average Time Series Model
In this time series project, you will learn to build Autoregressive and Moving Average Time Series Models to forecast future readings, optimize performance, and harness the power of predictive analytics for sensor data.

Build a Face Recognition System in Python using FaceNet
In this deep learning project, you will build your own face recognition system in Python using OpenCV and FaceNet by extracting features from an image of a person's face.

AWS Project to Build and Deploy LSTM Model with Sagemaker
In this AWS Sagemaker Project, you will learn to build a LSTM model on Sagemaker for sales forecasting while analyzing the impact of weather conditions on Sales.

Time Series Python Project using Greykite and Neural Prophet
In this time series project, you will forecast Walmart sales over time using the powerful, fast, and flexible time series forecasting library Greykite that helps automate time series problems.