Skip to main content

Professional PyTorch library for 120+ metaheuristic optimization algorithms (Swarm, Evolutionary, Physics, Hybrid).

Project description

SwarmTorch 🐝🔥

The ultimate metaheuristic library for PyTorch

CI PyPI version Downloads License: MIT Python 3.10+


SwarmTorch is a high-performance, academic-grade library that brings 120 metaheuristic algorithms to the PyTorch ecosystem. It enables gradient-free neural network training and state-of-the-art hyperparameter optimization (HPO) with a single, unified API.

  • 60 model-training optimizers for gradient-free weight optimization
  • 60 hyperparameter-tuning searchers for intelligent HPO

InstallationKey FeaturesBenchmarks & ResearchUsageCitation


🚀 Key Features

  • 120 Algorithms (60 + 60): 60 model-training optimizers + 60 HPO searchers across 6 categories: Swarm Intelligence, Evolutionary, Physics-based, Human-based, Bio-inspired, and Hybrids.
  • Gradient-Free Training: Optimize weights for non-differentiable or complex loss landscapes directly as a PyTorch Optimizer.
  • Deep HPO Integration: Replace Random/Grid search with intelligent, nature-inspired exploration.
  • Research Ready: Includes full benchmarking suites, raw experimental data, and publication-quality visualizations.
  • Highly Optimized: Leverages PyTorch's tensor operations for swarm-level parallelism.

📈 Benchmarks & Research

We conducted a massive-scale evaluation of 120 algorithms (60 training + 60 HPO). Our research shows that 65.5% of SwarmTorch searchers outperform the standard Random Search baseline in HPO tasks, with top performers achieving near-perfect validation accuracy.

Detailed performance analysis, convergence plots, and category reliability studies are available in the dedicated benchmarks document:

👉 View Full Research & Benchmarks Report (with Visualizations)


📦 Installation

Using pip:

pip install swarmtorch

Using uv (Recommended):

uv add swarmtorch

With benchmark dependencies:

pip install swarmtorch[benchmarks]

💻 Usage

Model Weight Optimization

import torch.nn as nn
from swarmtorch import PSO

model = nn.Sequential(nn.Linear(10, 64), nn.ReLU(), nn.Linear(64, 1))
optimizer = PSO(model.parameters(), swarm_size=30)

def closure():
    optimizer.zero_grad()
    loss = criterion(model(inputs), targets)
    return loss

optimizer.step(closure)

Hyperparameter Tuning

from swarmtorch import PSOSearch

searcher = PSOSearch(
    model_fn=build_model,
    param_space={'lr': (0.001, 0.1), 'hidden_dim': [32, 64]},
    train_fn=train_fn,
    iterations=50
)
best_params = searcher.search()

Why SwarmTorch?

Traditional deep learning relies on gradient-based optimization (Adam, SGD, etc.). SwarmTorch complements these with:

Scenario Use Gradient (Adam/SGD) Use SwarmTorch
Standard classification ✅ Best choice Overkill
Non-differentiable loss ❌ Can't use ✅ Perfect fit
Discrete optimization ❌ Can't use ✅ Perfect fit
Multi-modal landscapes Gets stuck Explores well
Hyperparameter tuning Manual search Automated

🤝 Acknowledgments & References

This library was developed with reference to the pyMetaheuristic library. We are grateful for their contributions to the metaheuristic optimization community.


📝 Citation

@software{swarmtorch2026,
  author = {Halleluyah Darasimi Oludele},
  title = {SwarmTorch: A PyTorch Library for 120+ Metaheuristic Optimization Algorithms},
  year = {2026},
  url = {https://github.com/hallelx2/swarmtorch}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarmtorch-0.2.0.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swarmtorch-0.2.0-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file swarmtorch-0.2.0.tar.gz.

File metadata

  • Download URL: swarmtorch-0.2.0.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for swarmtorch-0.2.0.tar.gz
Algorithm Hash digest
SHA256 beb8fcc958fe093378149a23234869d5524ccb177c73312c0fb6650eb2ed4c08
MD5 46cf5d1f7061989febc60c62d60fb7e8
BLAKE2b-256 d7e2e98d8677c0faf69ca51001e22949a434aba00cddc5057bdcf2574d9952f2

See more details on using hashes here.

File details

Details for the file swarmtorch-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: swarmtorch-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 47.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for swarmtorch-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cacd4c8bc56e4bcd8b03a152dc5407c8a9adde07bea4d0d2bdc796b728fc7834
MD5 f99fc9fe04174cc48ac86c48bf5ea933
BLAKE2b-256 f497d4f1b8e4aec8f4b9aee0abe0ea625b130623a834acb5ff71f90e0a103f22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page