The Mighty Monitor Trainer for your pytorch models.
Project description
pytorch-mighty
The Mighty Monitor Trainer for your pytorch models. Powered by Visdom.
Documentation: https://pytorch-mighty.readthedocs.io/en/latest/
Installation
Requires Python 3.6+
- Install PyTorch:
- CPU backend:
conda install pytorch torchvision cpuonly -c pytorch
- GPU backend:
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
- CPU backend:
$ pip install pytorch-mighty
Quick start
Before running any script, start Visdom server:
$ python -m visdom.server -port 8097
Then run python examples.py
or use the code below:
import torch
import torch.nn as nn
from torchvision import transforms
from torchvision.datasets import MNIST
from mighty.models import MLP
from mighty.monitor.monitor import MonitorLevel
from mighty.trainer import TrainerGrad
from mighty.utils.data import DataLoader
model = MLP(784, 128, 10)
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer)
data_loader = DataLoader(MNIST, transform=transforms.ToTensor())
trainer = TrainerGrad(model,
criterion=nn.CrossEntropyLoss(),
data_loader=data_loader,
optimizer=optimizer,
scheduler=scheduler)
# trainer.restore() # uncomment to restore the saved state
trainer.monitor.advanced_monitoring(level=MonitorLevel.SIGNAL_TO_NOISE)
trainer.train(n_epochs=10, mutual_info_layers=0)
Finally, navigate to http://localhost:8097 to see the training progress.
Articles, implemented or reused in the package
-
Fong, R. C., & Vedaldi, A. (2017). Interpretable explanations of black boxes by meaningful perturbation.
- Paper: https://arxiv.org/abs/1704.03296
- Used in:
trainer/mask.py
-
Belghazi, M. I., Baratin, A., Rajeswar, S., Ozair, S., Bengio, Y., Courville, A., & Hjelm, R. D. (2018). Mine: mutual information neural estimation.
-
Kraskov, A., Stögbauer, H., & Grassberger, P. (2004). Estimating mutual information.
- Paper: https://arxiv.org/abs/1208.4475
- Used in:
monitor/mutual_info/npeet.py
- Original source code: https://github.com/gregversteeg/NPEET
-
Ince, R. A., Giordano, B. L., Kayser, C., Rousselet, G. A., Gross, J., & Schyns, P. G. (2017). A statistical framework for neuroimaging data analysis based on mutual information estimated via a gaussian copula. Human brain mapping, 38(3), 1541-1573.
- Paper: http://dx.doi.org/10.1002/hbm.23471
- Used in
monitor/mutual_info/gcmi.py
- Original source code: https://github.com/robince/gcmi
-
IDTxl package to estimate mutual information.
- Used in
monitor/mutual_info/idtxl.py
- Used in
Projects that use pytorch-mighty
- MCMC_BinaryNet - Markov Chain Monte Carlo binary networks optimization.
- EmbedderSDR - encode images into binary Sparse Distributed Representation (SDR).
- sparse-representation - Basis Pursuit solvers for the P0- and P1-problems, which encode the data into sparse vectors of high dimensionality.
- entropy-estimators - estimate Entropy and Mutual Information between multivariate random variables.
Check-out more examples on http://visdom.kyivaigroup.com:8097/. Give your browser a few minutes to parse the json data.
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
Built Distribution
File details
Details for the file pytorch-mighty-0.4.0.tar.gz
.
File metadata
- Download URL: pytorch-mighty-0.4.0.tar.gz
- Upload date:
- Size: 72.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00fdb89bf1a215fed157e9ba2dbdc2e15610d21455b3f20e73c0a24d3b079de9 |
|
MD5 | 03cdb35ad9876ed76e0416b813aef26e |
|
BLAKE2b-256 | 3e12dc7f1b204561c606692e95797966b7334778a529b453d3b7607bda1d3bcc |
File details
Details for the file pytorch_mighty-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: pytorch_mighty-0.4.0-py3-none-any.whl
- Upload date:
- Size: 79.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf3bdf291396136a25b64de12e5581a97d4048a40d8f67d2f7d08f616fe990f7 |
|
MD5 | 1271db4fd6a395d3e34ab788b98a0182 |
|
BLAKE2b-256 | a3fba142887b1a8cfc182bdedf57aa9f1908a0c2f0dbff847f08e0772bc70e21 |