We are open to contributions! Specifically:
- Improvement to current guides.
- Translation of guides to other languages.
- Additional guides.
- Additional layers/models/optimizers (with the corresponding guide).
A release of the library is a copy of the library without the key code that learners must implement.
To generate a release, EduNN's reference implementation in folder edunn
is stripped of """ YOUR IMPLEMENTATION START """
and """ YOUR IMPLEMENTATION END """
comment pairs, and all the code in between. The resulting code is stored in the generated
folder.
Guides can be written for different languages (english, spanish, etc), and are zipped with a release to generate a downloadable guide.
- Clone the repository
- Create a venv, install packages in
requirements.txt
andrequirements_dev.txt
- Run
edit_guides.sh
to fire up a jupyter-notebook server that can importedunn
correctly (recommended to avoid path issues, but you can do this in other ways if you are knowledgeable in python) - Add/modify guide and/or a
edunn
component - Generate a release for guides and/or
edunn
(see next steps)
If you modified the edunn
library itself, then:
- If necessary, add/update tests in the
test
folder - Verify all tests are still working by running
pytest
in the root folder of the project - Generate a new release (only if you modified
edunn
) by runningexport_code.py
. This will copy all code inedunn
togenerated
and remove the reference implementation. - Recreate guides (see next section)
- Create pull request
- Update pipy (maintainers only)
If you modified a guide of language <lang>
:
- Export guide (if modified) with
zip_guide.py <lang>
(ie,zip_guide.py es
for spanish) - Check exported zip works correctly
- Create pull request
- Add release to github (maintainers only)