File size: 1,522 Bytes
8fdde2f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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()