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

Jingwei Li

Graduate Research assistance at Stony Brook University
linkedin profile url

ProjectPro is an awesome platform that helps me learn much hands-on industrial experience with a step-by-step walkthrough of projects. There are two primary paths to learn: Data Science and Big Data.... Read More

Relevant Projects

LLM Project to Build and Fine Tune a Large Language Model
In this LLM project for beginners, you will learn to build a knowledge-grounded chatbot using LLM's and learn how to fine tune it.

Azure Text Analytics for Medical Search Engine Deployment
Microsoft Azure Project - Use Azure text analytics cognitive service to deploy a machine learning model into Azure Databricks

Deep Learning Project for Text Detection in Images using Python
CV2 Text Detection Code for Images using Python -Build a CRNN deep learning model to predict the single-line text in a given image.

MLOps Project on GCP using Kubeflow for Model Deployment
MLOps using Kubeflow on GCP - Build and deploy a deep learning model on Google Cloud Platform using Kubeflow pipelines in Python

Build a CNN Model with PyTorch for Image Classification
In this deep learning project, you will learn how to build an Image Classification Model using PyTorch CNN

Build a Langchain Streamlit Chatbot for EDA using LLMs
In this LLM project, you will build a Streamlit Chatbot integrated with Langchain technology for natural language interactions with a SQL database, facilitating real-time visualization and insightful insights, streamlining data exploration and analysis.

Census Income Data Set Project-Predict Adult Census Income
Use the Adult Income dataset to predict whether income exceeds 50K yr based oncensus data.

Predict Churn for a Telecom company using Logistic Regression
Machine Learning Project in R- Predict the customer churn of telecom sector and find out the key drivers that lead to churn. Learn how the logistic regression model using R can be used to identify the customer churn in telecom dataset.

PyTorch Project to Build a GAN Model on MNIST Dataset
In this deep learning project, you will learn how to build a GAN Model on MNIST Dataset for generating new images of handwritten digits.

Build OCR from Scratch Python using YOLO and Tesseract
In this deep learning project, you will learn how to build your custom OCR (optical character recognition) from scratch by using Google Tesseract and YOLO to read the text from any images.