Spaces:
Sleeping
Sleeping
File size: 1,899 Bytes
2ad7d0e 8450d10 0be77ef a38eb6f 947ad46 b861e8e 68934cc b861e8e 947ad46 a38eb6f 947ad46 a38eb6f 947ad46 a38eb6f 947ad46 a38eb6f 947ad46 a38eb6f b861e8e a38eb6f b861e8e 2ad7d0e a38eb6f 76d9193 a38eb6f 68934cc a38eb6f 68934cc a38eb6f 76d9193 a38eb6f eeda69b 2ad7d0e a38eb6f |
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 55 56 57 58 |
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()
|