Repository navigation
Implementing the SimpleAutoEncoder JupyterNotebook and class to training.wrapper - #273
CheickIsmaelD wants to merge 4 commits into
Conversation
This is a standalone export of the SimpleAutoEncoder class, kept separate from the JupyterNotebook tutorials to allow for a seamless pull request.
|
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. |
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
Docstrings
Test Coverage
Two data pipelines were used to determine whether or not the SimpleAutoencoder class was functioning. Would benefit from more test coverage.
Documentation
Final Checks:
Alternatively, if generative AI was used, then confirm you have:
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,