HemanM's picture
Update app.py
76d9193 verified
raw
history blame
1.53 kB
import gradio as gr
from evo_transformer import EvoTransformer
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
def simulate_evolution(generations):
model = EvoTransformer()
model.evolve(generations)
history = model.get_history()
# Evaluation of final model
final_result = model.evaluate()
# Visualization
fig, ax = plt.subplots(figsize=(10, 5))
df = pd.DataFrame(history)
sns.lineplot(data=df.drop("memory", axis=1), markers=True, ax=ax)
ax.set_title("EvoTransformer Trait Evolution")
ax.set_ylabel("Value")
ax.set_xlabel("Generation")
plt.xticks(range(len(df)))
plt.tight_layout()
return (
final_result["accuracy"],
round(final_result["params"], 2),
fig
)
# UI
with gr.Blocks(title="EvoTransformer: Adaptive Architecture Evolution") as demo:
gr.Markdown("# 🧬 EvoTransformer Demo")
gr.Markdown("Evolving architecture live — inspired by nature. Tune the number of generations below and visualize how traits change during evolution.")
generations = gr.Slider(1, 20, value=5, step=1, label="Number of Generations")
btn = gr.Button("Evolve EvoTransformer")
accuracy = gr.Textbox(label="Estimated Accuracy", interactive=False)
params = gr.Textbox(label="Estimated Parameter Count (M)", interactive=False)
plot = gr.Plot(label="Architecture Trait Evolution")
btn.click(fn=simulate_evolution, inputs=generations, outputs=[accuracy, params, plot])
demo.launch()