Combustion is a collection of layers/models/helper functions for deep learning.
Combustion is designed with PyTorch in mind, with some emphasis on the following 3rd party libraries:
- PyTorch-Lightning, a high level API for model training
- Hydra, a library that enables YAML based configuration of hyperparameters
Install combustion core with pip using
pip install .
Optional dependencies are provided via the following extras:
hdf5
- HDF5 serialization (combustion.data
)vision
- Vision helpers (combustion.vision
)points
- Point cloud manipulation (combustion.points
)macs
- For counting multiply accumulate operations
Development dependencies can be installed with
pip install combustion[dev] && pip install combustion[points]
Multiple make recipes are provided to aid in development:
ci-test
- Runs tests that will be run by CircleCIci-quality
- Runs quality checks that will be run by CircleCIdocs
- Builds documentationpre-commit
- Installs a pre-commit hook to run code quality testsquality
- Runs code quality testsstyle
- Automatically formats code (usingblack
andautopep8
)tag-version
- Adds a git tag based onversion.txt
.test
- Runs all tests, including slow model teststest-%
- Runs specific tests by pattern match (viapytest -k
flag)test-pdb-%
- Runs specific tests with debugging on failure (viapytest --pdb
flag)