Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from evo_transformer import EvoTransformer | |
| from plot import plot_radar_chart | |
| import io | |
| from PIL import Image | |
| evo = EvoTransformer() | |
| def evolve_model(generations): | |
| evo.reset() | |
| evo.evolve(generations) | |
| best_config = evo.get_best_config() | |
| accuracy = f"{best_config['accuracy']:.2f}%" | |
| params = f"{best_config['parameters']:.2f}M params" | |
| summary = str(best_config['traits']) | |
| # Radar chart | |
| radar_img = plot_radar_chart(best_config['traits']) | |
| # Files | |
| csv_file = ("evo_history.csv", io.BytesIO(evo.export_csv().encode())) | |
| json_file = ("evo_history.json", io.BytesIO(evo.export_json().encode())) | |
| # History | |
| history_text = [f"Gen {i+1} Config: {c['traits']}" for i, c in enumerate(evo.history)] | |
| return ( | |
| accuracy, params, summary, | |
| radar_img, | |
| *history_text, | |
| csv_file, json_file | |
| ) | |
| with gr.Blocks(title="EvoTransformer – Evolving Transformer Architectures") as demo: | |
| gr.Markdown("🧬 **EvoTransformer – Evolving Transformer Architectures**") | |
| gr.Markdown("Simulate trait mutation and adaptive architecture generation.") | |
| generations = gr.Slider(minimum=1, maximum=20, step=1, label="Number of Generations", value=5) | |
| run_btn = gr.Button("🧬 Evolve Architecture") | |
| acc = gr.Textbox(label="Simulated Accuracy") | |
| params = gr.Textbox(label="Estimated Parameters") | |
| summary = gr.Textbox(label="Current Config Summary") | |
| radar = gr.Image(label="Final Generation Trait Radar") | |
| history_outputs = [gr.Textbox(label=f"Gen {i+1} Config") for i in range(10)] | |
| csv_download = gr.File(label="Download CSV History") | |
| json_download = gr.File(label="Download JSON History") | |
| run_btn.click( | |
| fn=evolve_model, | |
| inputs=[generations], | |
| outputs=[acc, params, summary, radar] + history_outputs + [csv_download, json_download] | |
| ) | |
| demo.launch() | |