YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
𧬠Ivictus β Self-Evolving Neural Network
A self-evolving neural network that redesigns its own architecture using evolutionary strategies, plus a live web dashboard to watch and control it from your browser.
Creator: Kashyap Khakhkhar
β¨ Capabilities
π§ Self-Evolving Architecture Search
- Genome-based architecture system β every network layout (layer count, units, activations, dropout, batch-norm, learning rate, optimizer, batch size) is encoded as a mutable genome.
- Evolutionary loop β each generation mutates and crosses over the population, evaluates every model on real training data, and keeps only the fittest (elitism).
- Gated feature routing β the genome evolves which 3 input features drive the first hidden layer, with the rest injected into deeper layers.
- Diversity pressure β duplicate and near-duplicate architectures are penalized so the population doesn't collapse onto one local optimum.
- Smart fitness β classification optimizes validation accuracy (not loss) to prevent memorization; complexity is gently penalized (Occam's razor).
π‘οΈ Built-In Safety Gates
- Hard, immutable ceilings on layers, units, and total parameters that evolution can never exceed.
- Failure gates reject NaN/Inf losses and exploded models.
- Wall-clock budget and stagnation detection halt runs gracefully.
ποΈ Live Web GUI (evo_gui.py)
- Start / stop evolutionary runs from the browser.
- Live fitness chart (best vs. average over generations).
- Champion genome inspector + population table with fitness bars.
- Upload your own dataset (CSV / TSV / TXT / NPY / NPZ).
- Start from a saved model, a custom architecture, or the current champion.
- Streams the engine console to the browser in real time.
π Training on Your Own Data (evolve_dataset.py)
- Loads CSV / TSV / TXT / NPY / NPZ datasets with no extra dependencies.
- Auto-detects regression vs. classification, z-scores features, and targets the column you choose.
- Synthetic data generator when no dataset is provided.
πΎ Checkpointing & Resumability
- Full evolution state (population, history, best genome) saved to disk every generation.
- Automatically resumes from checkpoints;
--resetstarts fresh. - Best model exported as
.kerasplus genome config as JSON.
π― Benefits
| Benefit | Why it matters |
|---|---|
| No architecture hand-tuning | The network finds the best design for your data automatically. |
| Generalizes better | Validation-based fitness + diversity pressure reduce overfitting. |
| Safe to run unattended | Hard safety gates mean evolution can't blow up memory, time, or loss. |
| Beginner-friendly GUI | Watch evolution live, tweak parameters, upload data β no ML expertise required. |
| Fully offline-capable | Works with synthetic data or your own files; no external API needed. |
| Resume anytime | Long runs survive restarts thanks to per-generation checkpoints. |
Usage:
- The project Kashyap-K/self-evolving-nn is one of the testing of this when this was in developing stage.
π Quick Start
pip install -r requirements.txt
# CLI: quick evolution run (synthetic data)
python3 self_evolving_model.py
# More generations / bigger population
python3 self_evolving_model.py --generations 100 --pop-size 12
# Web dashboard
python3 self_evolving_model.py --gui # http://localhost:5000
# Train on your own dataset
python3 evolve_dataset.py data.csv --target label --task auto
Optional: the text-understanding path (e.g.
--text-dataset rotten_tomatoes) lazily uses the HuggingFacedatasetslibrary β install it only if you need it:pip install datasets
π Files
| File | Purpose |
|---|---|
self_evolving_model.py |
The self-evolving neural network engine + CLI. |
evo_gui.py |
Live web dashboard for the evolution engine. |
evolve_dataset.py |
Dataset loader & training driver for your own data. |
requirements.txt |
Python dependencies. |
π License
Created by Kashyap Khakhkhar. Free to use, modify, and share.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support