LazyTeacher
End-To-End Machine Learning Project for Automatic Grades for Student Essays
Install / Use
/learn @mlengineershub/LazyTeacherREADME
Automatic Grades for Student Essays: End-to-End Machine Learning Project
Welcome to our repository! This project demonstrates an end-to-end solution for automatically grading student essays using advanced machine learning techniques, from initial data analysis to deployment. Our application accepts an essay image and outputs the text and its corresponding grade, leveraging a fine-tuned transformer model available on the Hugging Face platform.
Project Structure
The repository is organized into several key areas:
app/: Contains the user interface for essay submission and grading display.data/: Datasets used in model training and evaluation.endpoints/: FastAPI implementation for deploying machine learning models as endpoints.ml/: Core machine learning code including exploratory data analysis, data preprocessing, and training scripts.
Detailed Contents
-
ML Folder: Focuses on machine learning model development.
preprocessing/: Data preprocessing techniques, including exploratory data analysis and sampling methods.training/: Model training scripts, exploring different machine learning algorithms and transformer models.error_analysis/: Banchmark and error analysis of the most relevant model.
-
Endpoints: Contains FastAPI code for model deployment, allowing real-time essay grading.
-
App: A user-friendly interface for submitting essays and receiving grades.
Getting Started
To get started with this project, clone the repository and install the required dependencies:
git clone https://github.com/mlengineershub/LazyTeacher
cd LazyTeacher
pip install -r requirements.txt
Refer to individual READMEs in each directory for more detailed instructions on running each component.
Global Architecture

This diagram illustrates the comprehensive workflow of our project, from data handling and model training to deployment and user interaction.
Here is a look of our front end application :

How to Use
Navigate through the project using the following links to understand and interact with the different components:
Contributing
We encourage contributions to this project! Please consider the following steps to contribute:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Contact
We hope you find this project useful and we welcome any contributions or feedback!
