import numpy as np import gradio as gr from tensorflow.keras.models import Sequential from tensorflow.keras.layers import SimpleRNN, Dense # 📌 Simulate an RNN model on-the-fly for demo (NOT from HF) def create_dummy_rnn(): model = Sequential() model.add(SimpleRNN(10, activation='relu', input_shape=(3, 1))) model.add(Dense(1)) model.compile(optimizer='adam', loss='mse') # Train on dummy increasing patterns X = [] y = [] for i in range(1, 100): X.append([i, i+1, i+2]) y.append(i+3) X = np.array(X).reshape((len(X), 3, 1)) y = np.array(y) model.fit(X, y, epochs=20, verbose=0) return model # Load dummy model (simulate download) model = create_dummy_rnn() def predict_next_number(a, b, c): try: x = np.array([float(a), float(b), float(c)]).reshape((1, 3, 1)) prediction = model.predict(x, verbose=0)[0][0] return f"🔮 Predicted Next Number: {prediction:.2f}" except Exception as e: return f"⚠️ Error: {str(e)}" # Gradio Interface inputs = [ gr.Number(label="First Number"), gr.Number(label="Second Number"), gr.Number(label="Third Number"), ] outputs = gr.Textbox(label="Predicted Next Number") app = gr.Interface( fn=predict_next_number, inputs=inputs, outputs=outputs, title="📈 Next Number Predictor (RNN)", description="Enter 3 numbers (e.g., 1, 2, 3) and this app predicts the next number using a simple RNN!" ) if __name__ == "__main__": app.launch()