Holocron
Implementations of recent Deep Learning tricks in Computer Vision, easily paired up with your favorite framework and model zoo.
Holocrons were information-storage datacron devices used by both the Jedi Order and the Sith that contained ancient lessons or valuable information in holographic form.
Source: Wookieepedia
Note: support of activation mapper and model summary has been dropped and outsourced to independent packages (torch-cam & torch-scan) to clarify project scope.
Quick Tour
PyTorch layers for every need
- Activation: SiLU/Swish, Mish, HardMish, NLReLU, FReLU
- Loss: Focal Loss, MultiLabelCrossEntropy, LabelSmoothingCrossEntropy, MixupLoss, ClassBalancedWrapper, ComplementCrossEntropy, MutualChannelLoss
- Convolutions: NormConv2d, Add2d, SlimConv2d, PyConv2d
- Regularization: DropBlock
- Pooling: BlurPool2d, SPP, ZPool
- Attention: SAM, LambdaLayer, TripletAttention
Models for vision tasks
- Classification: Res2Net (based on the great implementation from Ross Wightman), Darknet-24, Darknet-19, Darknet-53, CSPDarknet-53, ResNet, ResNeXt, TridentNet, PyConvResNet, ReXNet, SKNet, RepVGG.
- Detection: YOLOv1, YOLOv2, YOLOv4
- Segmentation: U-Net, UNet++, UNet3+
Vision-related operations
Trying something else than Adam
- Optimizer: LARS, Lamb, RAdam, TAdam, AdamP, AdaBelief, and customized versions (RaLars)
- Optimizer wrapper: Lookahead, Scout (experimental)
Setup
Python 3.6 (or higher) and pip/conda are required to install Holocron.
Stable release
You can install the last stable release of the package using pypi as follows:
pip install pylocron
or using conda:
conda install -c frgfm pylocron
Developer installation
Alternatively, if you wish to use the latest features of the project that haven't made their way to a release yet, you can install the package from source:
git clone https://github.com/frgfm/Holocron.git
pip install -e Holocron/.
What else
Documentation
The full package documentation is available here for detailed specifications.
Reference scripts
Reference scripts are provided to train your models using holocron on famous public datasets. Those scripts currently support the following vision tasks:
Citation
If you wish to cite this project, feel free to use this BibTeX reference:
@misc{holocron2019,
title={Holocron},
author={François-Guillaume Fernandez},
year={2019},
month={August},
publisher = {GitHub},
howpublished = {\url{https://github.com/frgfm/Holocron}}
}
Contributing
Any sort of contribution is greatly appreciated!
You can find a short guide in CONTRIBUTING
to help grow this project!
License
Distributed under the Apache 2.0 License. See LICENSE
for more information.