# -*- coding: utf-8 -*- """app.ipynb Automatically generated by Colab. Original file is located at https://colab.research.google.com/drive/1Fs9_sYM9yLWes2K3kTowoXNMcVqfteCH """ import numpy as np import gradio as gr from tensorflow.keras.models import Sequential from tensorflow.keras.layers import SimpleRNN, Dense # Parameters window_size = 3 # Generate and prepare the sequence data sequence = np.array([i for i in range(1, 101)]) x = [] y = [] for i in range(len(sequence) - window_size): x.append(sequence[i:i + window_size]) y.append(sequence[i + window_size]) x = np.array(x) y = np.array(y) x = x.reshape(x.shape[0], x.shape[1], 1) # Build and train the RNN model model = Sequential() model.add(SimpleRNN(50, activation='relu', input_shape=(window_size, 1))) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') model.fit(x, y, epochs=500, verbose=0) # Prediction function for Gradio def predict_next_number(a, b, c): input_sequence = np.array([a, b, c]).reshape((1, window_size, 1)) prediction = model.predict(input_sequence, verbose=0) return float(prediction[0][0]) # Gradio UI iface = gr.Interface( fn=predict_next_number, inputs=[gr.Number(label="Number 1"), gr.Number(label="Number 2"), gr.Number(label="Number 3")], outputs=gr.Number(label="Predicted Next Number"), title="RNN Sequence Prediction", description="Enter 3 consecutive numbers to predict the next number in the sequence." ) if __name__ == "__main__": iface.launch()