Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Python library to easily log experiments and parallelize hyperparameter search for neural networks
| Date | Stars |
|---|---|
| 2026-07-24 | 736 |
| 2026-07-25 | 736 |
| 2026-07-28 | 736 |
| 2026-07-30 | 736 |
| 2026-07-31 | 736 |
| 2026-08-06 | 736 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<p align="center">
<a href="https://williamfalcon.github.io/test-tube/">
<img alt="react-router" src="https://raw.githubusercontent.com/williamfalcon/test-tube/master/imgs/test_tube_logo.png" width="50">
</a>
</p>
<h3 align="center">
Test Tube
</h3>
<p align="center">
Log, organize and parallelize hyperparameter search for Deep Learning experiments
</p>
<p align="center">
<a href="https://badge.fury.io/py/test-tube"><img src="https://badge.fury.io/py/test-tube.svg" alt="PyPI version" height="18"></a>
<a href="https://travis-ci.org/williamFalcon/test-tube"><img src="https://travis-ci.org/williamFalcon/test-tube.svg?branch=master"></a>
<a href="https://williamfalcon.github.io/test-tube/"><img src="https://readthedocs.org/projects/test-tube/badge/?version=latest"></a>
<a href="https://github.com/williamFalcon/test-tube/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
</p>
## Docs
**[View the docs here](https://williamfalcon.github.io/test-tube/)**
---
Test tube is a python library to track and parallelize hyperparameter
search for Deep Learning and ML experiments. It's framework agnostic and
built on top of the python argparse API for ease of use.
``` {.bash}
pip install test_tube
```
---
### Main test-tube uses
- [Parallelize hyperparameter
optimization](https://williamfalcon.github.io/test-tube/hyperparameter_optimization/HyperOptArgumentParser/)
(across multiple gpus or cpus).
- [Parallelize hyperparameter
optimization](https://williamfalcon.github.io/test-tube/hyperparameter_optimization/HyperOptArgumentParser/)
across HPC cluster using SLURM.
- Log experiment hyperparameters and experiment data.
[Experiments](https://williamfalcon.github.io/test-tube/experiment_tracking/experiment/)
across models.
- Visualize with [tensorboard](https://www.tensorflow.org/guide/summaries_and_tensorboard)
Compatible with Python any Python ML library like Tensorflow, Keras, Pytorch, Caffe, Caffe2, Chainer, MXNet, Theano, Scikit-learn
---
### Examples
The Experiment object is a subclass of Pytorch.SummaryWriter.
**Log and visualize with Tensorboard**
```{.python}
from test-tube import Experiment
import torch
exp = Experiment('/some/path')
exp.tag({'learning_rate': 0.02, 'layers': 4})
# exp is superclass of SummaryWriter
features = torch.Tensor(100, 784)
writer.add_embedding(features, metadata=label, label_img=images.unsqueeze(1))
# simulate training
for n_iter in range(2000):
e.log({'testtt': n_iter * np.sin(n_iter)})
# save and close
exp.save()
exp.close()
```
```{.bash}
pip install tensorflow
tensorboard --logdir /some/path
```
**Run grid search on SLURM GPU cluster**
``` {.python}
from test_tube.hpc import SlurmCluster
# hyperparameters is a test-tube hyper params object
hyperparams = args.parse()
# init cluster
cluster = SlurmCluster(
hyperparam_optimizer=hyperparams,
log_path='/path/to/log/results/to',
python_cmd='python3'
)
# let the cluster know where to email for a change in job status (ie: complete, fail, etc...)
cluster.notify_job_status(email='[email protected]', on_done=True, on_fail=True)
# set the job options. In this instance, we'll run 20 different models
# each with its own set of hyperparameters giving each one 1 GPU (ie: taking up 20 GPUs)
cluster.per_experiment_nb_gpus = 1
cluster.per_experiment_nb_nodes = 1
# run the models on the cluster
cluster.optimize_parallel_cluster_gpu(train, nb_trials=20, job_name='first_tt_batch', job_display_name='my_batch')
# we just ran 20 different hyperparameters on 20 GPUs in the HPC cluster!!
```
**Optimize hyperparameters across GPUs**
``` {.python}
from test_tube import HyperOptArgumentParser
# subclass of argparse
parser = HyperOptArgumentParser(strategy='random_search')
parser.add_argument('--learning_rate', default=0.002, type=float, help='the learning rate')
# let's enable optimizing over the nExcerpt of 7,379 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:9d1a412a7b7ead91, topic:deep-learning, topic:pytorch, topic:tensorflow