Check out the projects page for information on the active projects. Before starting work on a PR please comment on the relevant issue or create a new one. Once you begin work link the PR to the proper issue. For information on documentation contributions please go to our documents contribution page.
We have created a series of Live Coding Sessions on YouTube that can help give you an idea of how to contribute to projects.
New time series models
New time series loss functions
Meta data embedding models.
Documentation updates and fixes
Increasing test coverage
Benchmarking models on new datasets
We use Flake8 and mypy. Currently, we are a PyTorch only repository in terms of model frameworks.
All functions and newly added code require unit tests. Existing unit tests must pass.
All PRs require at least one approving review. Generally this review should be either from @Isaac Godfried@kriti mahajan or another core contributor. Please feel free to request to a review.
Getting setup locally
To get setup local you can install our repository in development mode from the master branch (or whatever branch you are using). To do this first clone the repository. Then run:
python setup.py develop
Models generally require four things:
Creating the model as a PyTorch module.
Adding the new model to the dict by importing and mapping it to class.
Adding an example model JSON config file in the tests directory.
Adding a unit test
Adding an end-to-end integration test
Complicating factors involve:
Models that take parameters other than X and metadata in forward_params.
Models that return a tensor not in the shape (batch_size, forecast_length, n_targets)
Please plan with @Isaac Godfried before undertaking these more complicated models.
Adding Loss Functions/Optimizers
Loss functions generally follow the same procedure as new models.