If you are interested in contributing to TorchServe, your contributions will fall into two categories:
- You want to propose a new feature and implement it.
- Post about your intended feature as an issue, and we will discuss the design and implementation. Once we agree that the plan looks good, go ahead and implement it.
- You want to implement a feature or bug-fix for an outstanding issue.
-
Search for your issue here: https://github.com/pytorch/serve/issues
-
Pick an issue and comment on the task that you want to work on this feature.
-
To ensure your changes doesn't break any of the existing features run the sanity suite as follows from serve directory:
-
Install dependencies (if not already installed) For CPU
python ts_scripts/install_dependencies.py --environment=dev
For GPU
bash python ts_scripts/install_dependencies.py --environment=dev --cuda=cu102
> Supported cuda versions as cu111, cu102, cu101, cu92- Run sanity suite
python torchserve_sanity.py
-
-
Run Regression test
python test/regression_tests.py
-
For running individual test suites refer code_coverage documentation
-
If you are updating an existing model make sure that performance hasn't degraded by running benchmarks on the master branch and your branch and verify there is no performance regression
-
For large changes make sure to run the automated benchmark suite which will run the apache bench tests on several configurations of CUDA and EC2 instances
-
If you need more context on a particular issue, please create raise a ticket on
TorchServe
GH repo or connect to PyTorch's slack channel
-
Once you finish implementing a feature or bug-fix, please send a Pull Request to https://github.com/pytorch/serve. Use this template when creating a Pull Request.
For more non-technical guidance about how to contribute to PyTorch, see the Contributing Guide.