Skip to content

Implementing the SimpleAutoEncoder JupyterNotebook and class to training.wrapper - #273

Draft
CheickIsmaelD wants to merge 4 commits into
ACCESS-Community-Hub:developfrom
CheickIsmaelD:changes
Draft

CheickIsmaelD wants to merge 4 commits into
ACCESS-Community-Hub:developfrom
CheickIsmaelD:changes

Conversation

@CheickIsmaelD

Copy link
Copy Markdown

Implementations

1: Added the SimpleAutoEncoder.ipynb file providing a detailed explanation on the functionality and usage of the SimpleAutoEncoder class.
2: Added a _simply.py file into the src/pyearthtools/training folder. This folder contains the standalone SimpleAutoEncoder script
3: Altered the init.py file to import the SimpleAutoEncoder class.

Getting Started

  • If there is not an existing issue, raise a new issue
  • In the issue, state that you are intending to work on a contribution. This gives everyone involved the opportunity to discuss the best way forward.

Docstrings

  • Docstrings complete and follow Napoleon (google) style

Test Coverage

  • [X ] All new code is covered by unit tests
    Two data pipelines were used to determine whether or not the SimpleAutoencoder class was functioning. Would benefit from more test coverage.

Documentation

  • Documentation is updated as required

Final Checks:

  • If no generative AI was used, then tick this box

Alternatively, if generative AI was used, then confirm you have:

  • [X ] Attributed any generative AI (such as GitHub Copilot) that was used in this PR. See our contributing guide for more information.
  • [X ] Included the name and version of the tool or system in the pull request
  • [X ] Described the scope of that use

Claude Sonnet 5 was used to transform the SimpleAutoEncoder Jupyter notebook into a proper Python script, generate the plotting function included in the notebook, check grammar and improve the flow of the notebook's descriptions, and improve abstraction by extracting a run_epoch method to support the fit function (previously, run_epoch's functionality was embedded directly in fit).

Finally,

  • Mark the PR as ready to review. Note - we encourage you to ask for feedback at the outset or at any time during the work.

CheickIsmaelD and others added 4 commits August 14, 2026 13:07
This is a standalone export of the SimpleAutoEncoder class, kept separate from the JupyterNotebook tutorials to allow for a seamless pull request.
@tennlee

tennlee commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Hi Cheick. Sorry for the delay here. Anyway, I moved the notebook into a new 'community notebooks' space where I can accept PRs a little more readily and then take more time to consider how to link them into the rest of the documentation. Looking at 'simply.py', it should be renamed 'simple.py'. The checkpointing is useful but should be optional, and a little better-documented, explaining it stores the checkpoint per-epoch. (other options might include per-n steps or on the basis of a custom strategy). Some people also like to store their "top n" checkpoints on the basis of loss/eval. I would keep it simple and basically just document what you have. People will want to be able to set a custom path for where to write the files, so I'd suggest adding a log_dir argument to the function. If you can load the weights with weights_only=True, then that's a good idea. If you don't have time to attend to this feedback now that you're on to your next thing, I totally understand, just let me know and I can make the adjustments as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants