Contribution Guidelinesο
If you want to contribute to this repository please adhere to the following guidelines
Always use black and isort to format your code before committing
Check that all license headers are present using
python3 scripts/license_headers.py --fix .
Python
@dataclass
andNamedTuple
are preferred over dictionaries, which donβt allow for IDE auto-completion and type checkingUser-exposed classes and methods should be documented in Google-style docstrings that are parsed by sphinx and end up in this documentation
Breaking changes should be marked in the message of pull requests:
CHECKPOINT BREAKING CHANGE
: When the save/restore structure changed incompatibly (check testtest_metadataset:TestDataset.test_save_restore_state_train
)ITERATION ORDER BREAKING CHANGE
: When the order of iterating samples changed, i.e. experiments would not be exactly reproducible (check teststest_dataset:TestDataset.test_current_batch_index_generator
,test_dataset:TestDataset.test_current_batch_index
, maybe more)API BREAKING CHANGE
: When the external programming api changed incompatiblyDATASET CONFIG BREAKING CHANGE
: When the dataset config (.nv-meta
folder) changed incompatiblyMETADATASET CONFIG BREAKING CHANGE
: When the metadataset config changed
In a release, all breaking changes except checkpoint lead to a new major version.