How ayanalammoon/neuroswarmautoml works
NeuroSwarm-AutoML searches for hardware-suitable neural architectures: the CLI initializes a dataset and search, then coordinates topology and hyperparameter evolution, surrogate screening, distributed model training, and fitness feedback. Winning candidates can be profiled, exported, reported, served for inference, or converted by the separate agent-context bridge into embeddings forwarded to Cortexta. The principal flow and named capabilities follow the README; some utility and service internals were not sampled, so their wiring is limited to documented behavior.
Main entry points: main.py Search CLI · bilevel_engine.py Bi-level engine · runner.py Distributed runner · benchmark.py Hardware benchmarks
Components 25
Search Control
- Search CLI
src/neuroswarm/main.py - Bi-level engine
src/neuroswarm/optimizers/bilevel_engine.py - Topology GA
src/neuroswarm/optimizers/ga_topology.py - PSO-DE
src/neuroswarm/optimizers/pso_de_continuous.py - GP surrogate
src/neuroswarm/surrogates/gp_estimator.py
Architecture Models
- Candidate state
src/neuroswarm/core/candidate.py - DAG search space
src/neuroswarm/search_space/dag_space.py - Dynamic network builder
src/neuroswarm/search_space/dynamic_builder.py - Graph embedder
src/neuroswarm/surrogates/graph_embedder.py
Training Evaluation
- Distributed runner
src/neuroswarm/core/runner.py - Dataset loaders
src/neuroswarm/main.py - Hardware benchmarks
src/neuroswarm/utils/benchmark.py - PyTorch benchmark
src/neuroswarm/utils/benchmark_pt.py - TensorRT benchmark
src/neuroswarm/utils/benchmark_trt.py - Metrics and Pareto
src/neuroswarm/utils/metrics.py - Experiment reporter
src/neuroswarm/utils/reporter.py
Export Serving
- Model export
src/neuroswarm/utils/export.py - FP16 quantizer
src/neuroswarm/utils/quantize.py - TensorRT exporter
src/neuroswarm/utils/trt_exporter.py - Inference API and UI
src/neuroswarm/utils/server.py
Context Bridge
- Context API
src/neuroswarm/context_service.py - Pretrained encoder
src/neuroswarm/context_service.py
Other components
- Search user
- Inference client
- Cortexta daemon
Connections 24
- Search user → Search CLI: starts search
- Search CLI → Dataset loaders: loads data
- Search CLI → Bi-level engine: runs generations
- Bi-level engine → PSO-DE: updates hyperparameters
- Bi-level engine → Topology GA: evolves topology
- Bi-level engine → GP surrogate: scores candidates
- Bi-level engine → Distributed runner: requests evaluations
- Topology GA → Candidate state: mutates candidates
- PSO-DE → Candidate state: updates candidates
- Distributed runner → Dynamic network builder: builds network
- Distributed runner → Candidate state: evaluates candidate
- Distributed runner → Dataset loaders: trains against
- GP surrogate → Graph embedder: featurizes graphs
- Search CLI → Model export: exports models
- Search CLI → Metrics and Pareto: extracts Pareto results
- Search CLI → Experiment reporter: generates report
- Search CLI → Hardware benchmarks: profiles hardware
- Hardware benchmarks → PyTorch benchmark: benchmarks PyTorch
- Hardware benchmarks → TensorRT benchmark: benchmarks TensorRT
- Model export → FP16 quantizer: quantizes TorchScript
- Model export → TensorRT exporter: builds TensorRT engine
- Inference client → Inference API and UI: submits inference
- Context API → Pretrained encoder: encodes context
- Context API → Cortexta daemon: forwards context