
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
pytorch-lightning-bolts
Advanced tools
Deprecated in favor of Lightning Bolts - https://pypi.org/project/lightning-bolts
Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch
Website • Installation • Main goals • latest Docs • stable Docs • Community • Grid AI • Licence
System / PyTorch ver. | 1.6 (min. req.) | 1.8 (latest) |
---|---|---|
Linux py3.{6,8} | ||
OSX py3.{6,8} | ||
Windows py3.7* |
tests
folderSimple installation from PyPI
pip install lightning-bolts
Install bleeding-edge (no guarantees)
pip install git+https://github.com/PytorchLightning/lightning-bolts.git@master --upgrade
In case you want to have full experience you can install all optional packages at once
pip install lightning-bolts["extra"]
Bolts is a Deep learning research and production toolbox of:
The main goal of Bolts is to enable rapid model idea iteration.
from pl_bolts.models.self_supervised import SimCLR
from pl_bolts.models.self_supervised.simclr.transforms import SimCLRTrainDataTransform, SimCLREvalDataTransform
import pytorch_lightning as pl
# data
train_data = DataLoader(MyDataset(transforms=SimCLRTrainDataTransform(input_height=32)))
val_data = DataLoader(MyDataset(transforms=SimCLREvalDataTransform(input_height=32)))
# model
weight_path = 'https://pl-bolts-weights.s3.us-east-2.amazonaws.com/simclr/bolts_simclr_imagenet/simclr_imagenet.ckpt'
simclr = SimCLR.load_from_checkpoint(weight_path, strict=False)
simclr.freeze()
# finetune
from pl_bolts.models import ImageGPT
from pl_bolts.models.self_supervised import SimCLR
class VideoGPT(ImageGPT):
def training_step(self, batch, batch_idx):
x, y = batch
x = _shape_input(x)
logits = self.gpt(x)
simclr_features = self.simclr(x)
# -----------------
# do something new with GPT logits + simclr_features
# -----------------
loss = self.criterion(logits.view(-1, logits.size(-1)), x.view(-1).long())
logs = {"loss": loss}
return {"loss": loss, "log": logs}
Great! We have LinearRegression and LogisticRegression implementations with numpy and sklearn bridges for datasets! But our implementations work on multiple GPUs, TPUs and scale dramatically...
Check out our Linear Regression on TPU demo
from pl_bolts.models.regression import LinearRegression
from pl_bolts.datamodules import SklearnDataModule
from sklearn.datasets import load_boston
import pytorch_lightning as pl
# sklearn dataset
X, y = load_boston(return_X_y=True)
loaders = SklearnDataModule(X, y)
model = LinearRegression(input_dim=13)
# try with gpus=4!
# trainer = pl.Trainer(gpus=4)
trainer = pl.Trainer()
trainer.fit(model, train_dataloader=loaders.train_dataloader(), val_dataloaders=loaders.val_dataloader())
trainer.test(test_dataloaders=loaders.test_dataloader())
No!
Bolts is unique because models are implemented using PyTorch Lightning and structured so that they can be easily subclassed and iterated on.
For example, you can override the elbo loss of a VAE, or the generator_step of a GAN to quickly try out a new idea. The best part is that all the models are benchmarked so you won't waste time trying to "reproduce" or find the bugs with your implementation.
Bolts is supported by the PyTorch Lightning team and the PyTorch Lightning community!
Please observe the Apache 2.0 license that is listed in this repository. In addition the Lightning framework is Patent Pending.
To cite bolts use:
@article{falcon2020framework,
title={A Framework For Contrastive Self-Supervised Learning And Designing A New Approach},
author={Falcon, William and Cho, Kyunghyun},
journal={arXiv preprint arXiv:2009.00104},
year={2020}
}
To cite other contributed models or modules, please cite the authors directly (if they don't have bibtex, ping the authors on a GH issue)
FAQs
Deprecated in favor of Lightning Bolts - https://pypi.org/project/lightning-bolts
We found that pytorch-lightning-bolts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.