INSTRUCTIONS FOR CONTRIBUTORS
If you would like to contribute to this project, please read the guidelines
below before you begin. Once you have read and understand the guidelines, you
should fork the project in GitHub and create a branch for your contribution.
Following the guidelines will reduce the overhead for accepting your pull
request (PR) and, thus, increase the likelihood of it being merged.
Guidelines
Coding style
Standard coding style guidelines for Python apply. Please see the
PEP-8 Style Guide.
General considerations
- Contributions will typically be made in the form of changes to existing code
(fixes or patches) or new additions to the project (features).
- When making a contribution, try to be reductionist in your approach. Creating
a separate branch (and, thus, a separate PR) for each file you are changing or
each feature you are adding will make it easier for the maintainers to review
your PR.
- Commit messages should be descriptive, but succinct. They should be written in
the present tense, active voice (e.g. "fix load_data function").
- If you would like to add a new feature, please first review the "TO-DO LIST"
table below to see if there is a desired feature that does not yet have an
assigned contributor. If one exists that you believe you can help with, please
email the maintainers and ask them to assign you to the feature. Then proceed
as below.
Fixes to existing code
- Update your local master to keep it current with the upstream master.
- Name your branch according to the following convention:
{username}-patch-{number}
(e.g. wfwiggins-patch-1
)
- Make as few changes as possible to achieve your goal.
New features
- Update your local master to keep it current with the upstream master.
- Name your branch according to the following convention:
feature-{feature_name}
(e.g. feature-contrib
)
- If you are extending an existing Jupyter notebook, please first make a local
copy of the notebook and name it with either of the following conventions:
old_notebook_extended.ipynb
or old_notebook_{initials}.ipynb
.
- If your feature depends on code in an existing Jupyter notebook, but is not
well represented in the title of the notebook, please create a new notebook and
either import or copy the needed code from the original notebook.
- If you are adding to the code base. Please add only one feature per
branch/PR. Please also attempt to keep the number of files small and attempt to
avoid changes to existing code.
- If changes to existing code are absolutely necessary, please add a comment
within the code to justify the change. It is better to add arguments to existing
functions or create new functions that extend the capabilities of existing
functions, rather than to make changes that could potentially break other
features that depend on the existing code.
TO-DO LIST
Feature |
Category |
Assignee(s) |
Status |
Notes |
Data visualization |
EDA |
Walter |
complete |
|
Data distribution |
EDA |
Nick |
dev |
|
Activation function selection |
Model architecture |
Less |
dev |
|
Pixel distribution checkpoint |
Preprocessing |
Walter |
dev |
|
Basic arch for "abnormal" task |
Model architecture |
|
unassigned |
XResNet50? |