Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor training loop from script to class #17

Closed
wants to merge 10 commits into from

Conversation

sweep-nightly[bot]
Copy link

@sweep-nightly sweep-nightly bot commented Oct 12, 2023

Description

This PR refactors the training loop from a script to a class in order to improve code modularity and maintainability. The training loop is currently implemented in the src/main.py file as a script, which makes it difficult to reuse and test. By refactoring it into a class, the code becomes more modular and easier to manage.

Summary of Changes

  • Created a new class named MNISTTrainer in the src/main.py file.
  • Moved the data loading and preprocessing code into a method named load_data in the MNISTTrainer class.
  • Moved the model definition code into a method named define_model in the MNISTTrainer class.
  • Created a method named train in the MNISTTrainer class to implement the training loop.
  • Created a method named evaluate in the MNISTTrainer class to evaluate the model on the test data.
  • Created a method named save_model in the MNISTTrainer class to save the trained model to a file.
  • Created a method named load_model in the MNISTTrainer class to load a trained model from a file.
  • Updated the Net class definition to be inside the MNISTTrainer class.
  • Updated the script at the end of the src/main.py file to use the MNISTTrainer class.
  • Updated the import statement in the src/api.py file to import the MNISTTrainer class.
  • Updated the code in src/api.py to use the load_model method of the MNISTTrainer class.
  • Updated the README.md file to reflect the changes in the code and provide instructions on how to use the MNISTTrainer class.

Please review and merge this PR. Thank you!

Fixes #6.


🎉 Latest improvements to Sweep:

  • Sweep can now passively improve your repository! Check out Rules to learn more.

💡 To get Sweep to edit this pull request, you can:

  • Comment below, and Sweep can edit the entire PR
  • Comment on a file, Sweep will only modify the commented file
  • Edit the original issue to get Sweep to recreate the PR from scratch

@sweep-nightly
Copy link
Author

sweep-nightly bot commented Oct 12, 2023

Rollback Files For Sweep

  • Rollback changes to src/main.py
  • Rollback changes to src/api.py
  • Rollback changes to README.md

@sweep-nightly
Copy link
Author

sweep-nightly bot commented Oct 12, 2023

Apply Sweep Rules to your PR?

  • Apply: All docstrings and comments should be up to date.
  • Apply: Code should be properly formatted and indented.
  • Apply: Variable and function names should be descriptive and follow a consistent naming convention.
  • Apply: Imports should be organized and grouped together.
  • Apply: There should be no unused imports or variables.
  • Apply: Code should be properly commented and include docstrings for functions and classes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sweep: refactor the training loop from a script to a class in main.py
1 participant