Professional PyTorch library for 120+ metaheuristic optimization algorithms (Swarm, Evolutionary, Physics, Hybrid).
Project description
SwarmTorch 🐝🔥
The ultimate metaheuristic library for PyTorch
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.
Installation • Key Features • Benchmarks & Research • Usage • Citation
🚀 Key Features
- 120+ Algorithms: Categorized into 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 118 algorithms. Our research shows that 94.9% of SwarmTorch searchers outperform the standard Random Search baseline in HPO tasks.
Detailed performance analysis, convergence plots, and category reliability studies are available in the dedicated benchmarks document:
👉 View Full Research & Benchmarks Report
📦 Installation
Using pip:
pip install swarmtorch
Using uv (Recommended):
uv add swarmtorch
💻 Usage
Model Weight Optimization
import torch.nn as nn
from swarmtorch.swarm.model_training 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.swarm.hyperparameter_tuning 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()
🤝 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swarmtorch-0.1.4.tar.gz.
File metadata
- Download URL: swarmtorch-0.1.4.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb536f89260f89caec992673d60bd0b4d1395ac6a08357a57d1d079ce045ec87
|
|
| MD5 |
0d6b2dc9f91aabb5a00634737ac45791
|
|
| BLAKE2b-256 |
6d59ac667914e9c78111b10c218aad91da43436346f0f5dbfbbbfe1ce067b2b4
|
File details
Details for the file swarmtorch-0.1.4-py3-none-any.whl.
File metadata
- Download URL: swarmtorch-0.1.4-py3-none-any.whl
- Upload date:
- Size: 3.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eec9b6de5e41fee3a222fb712492c9373b3fd8297c2d8f0496e2587284f9fb87
|
|
| MD5 |
18832d4c5dbc9c788adc7735f8398466
|
|
| BLAKE2b-256 |
b9943495bdb29fc7a33b44952a0c1b71cb20530474421520d13258fb7abaeadb
|