Pytorch implementations of computer vision tasks that aim to be readable, efficient, and effective.
Most of the code is based on published research, adapted to be easy to understand and use, sometimes at the cost of decreased benchmark performance compared to official figures.
pip install sihl
to get started. Check out the examples.
Models have a backbone (from torchvision or timm), an optional neck (FPN or BiFPN), and one or more heads (enabling multitask learning).
Each head corresponds to a task:
- Anomaly detection
- Autoencoding
- Autoregressive text recognition
- Depth estimation
- Instance segmentation
- Keypoint detection
- Metric learning
- Multiclass classification
- Multilabel classification
- Object detection
- Panoptic segmentation
- Quadrilateral detection
- Regression
- Scene text recognition
- Semantic segmentation
- View invariance learning
We recommend using rye to manage this project:
- Set your preferred python version with
rye pin 3.X
(3.9 or later). - If you have a local GPU, run examples with:
rye run python examples/[...].py
. - See generated logs with
rye run tensorboard --logdir examples/logs/[...]
. - Run tests with
rye run pytest tests/
.