sandhiyabk/Nextnum_prediction-RNN
0
1# -*- coding: utf-8 -*-2"""app.ipynb3 4Automatically generated by Colab.5 6Original file is located at7 https://colab.research.google.com/drive/19GYFqCVk_WtiyASOcEeMQkqp5Mv5e03E8"""9 10import numpy as np11import tensorflow as tf12import gradio as gr13from tensorflow.keras.models import Sequential14from tensorflow.keras.layers import SimpleRNN, Dense15 16# Prepare data17sequence = np.array([i for i in range(1, 101)])18window_size = 319x, y = [], []20for i in range(len(sequence) - window_size):21 x.append(sequence[i:i+window_size])22 y.append(sequence[i + window_size])23x = np.array(x).reshape(-1, window_size, 1)24y = np.array(y)25 26# Build and train model27model = Sequential([28 SimpleRNN(50, activation='relu', input_shape=(window_size, 1)),29 Dense(1)30])31model.compile(optimizer='adam', loss='mse')32model.fit(x, y, epochs=100, verbose=0)33model.save("my_model.keras")34 35# Load model36model = tf.keras.models.load_model("my_model.keras")37 38# Gradio function39def predict_next(a: float, b: float, c: float):40 try:41 input_seq = np.array([a, b, c]).reshape(1, 3, 1)42 prediction = model.predict(input_seq, verbose=0)43 return f"Predicted next value: {prediction[0][0]:.2f}"44 except:45 return "Error in prediction. Please enter valid numbers."46 47# Gradio UI48interface = gr.Interface(49 fn=predict_next,50 inputs=[51 gr.Number(label="First number"),52 gr.Number(label="Second number"),53 gr.Number(label="Third number")54 ],55 outputs="text",56 title="๐ RNN Time Series Predictor",57 description="Enter three sequential numbers to predict the next number using a trained SimpleRNN model."58)59 60# Launch the app61interface.launch()