/cmsml

Python Package of the CMS Machine Learning Group

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Lint and test Deploy images Documentation status Python version Package version License

CMS Machine Learning Group Python package.

The documentation of this Python package is hosted on readthedocs.

However, note that this documentation only covers the API and technical aspects of the package itself. Usage examples and further techniques for working with machine learning tools in CMS, alongside a collection of useful guidelines can be found in the general CMS ML group documentation.

Click here to submit a feature suggestion!

Docker images

To use the cmsml package via docker, checkout our DockerHub which contains tags for several Python versions.

Image Python version TF Version PyTorch Version GPU support
cmsml/cmsml:3.7 3.7 2.11.1 1.13.1
cmsml/cmsml:3.8 3.8 2.13.1 latest (~2.3.0)
cmsml/cmsml:3.9
cmsml/cmsml:3
cmsml/cmsml:latest
3.9 latest (~2.16.1) latest (~2.3.0)
cmsml/cmsml:3.10 3.10 latest (~2.16.1) latest (~2.3.0)
cmsml/cmsml:3.11 3.11 latest (~2.16.1) latest (~2.3.0)
cmsml/cmsml:3.11-cuda 3.11 latest (~2.16.1) latest (~2.3.0) ✔︎

Testing

The tests can be triggered with

pytest -n auto tests

and in general, they should be run for Python 3.7 to 3.11. To run tests in a docker container, do

# run the tests
./tests/docker.sh cmsml/cmsml

# or interactively by adding a flag "i" to the command
./tests/docker.sh cmsml/cmsml i
> python -m unittest tests

In addition, before pushing to the repository, PEP 8 compatibility should be checked with flake8 via

./tests/lint.sh

or using the docker container

# run the tests
./tests/docker.sh cmsml/cmsml tests/lint.sh