Welcome to HESSIAN, a pioneering initiative led by "The Foresters π²" team, dedicated to the health evaluation and surveillance of plant life using cutting-edge analytical networking techniques. Our mission is to leverage advanced algorithms and data analytics to detect, classify, and understand the health of leaves, ultimately contributing to the preservation and care of our vital forest ecosystems.
The Foresters π² team is composed of three members, all in deep love with nature:
- Alexandre EymaΓ«l (@alexandre-eymael)
- Badei Alrahel (@BadeiAlrahel)
- Louis Colson (@colson-louis)
The HESSIAN project is carried out as part of the INFO9023 - Machine Learning Systems Design course at ULiège.
We provide a table detailing all the features implemented in this project, along with their respective implementation locations. Upon navigating to these locations, you will find an additional README.md
file in the corresponding subdirectory, which serves to further explain and demonstrate the implemented feature.
# | Work package | Required? | Implemented? | Location |
---|---|---|---|---|
1.1 | Pick a team | β | β | . |
1.2 | Communication channel | β | β | . |
1.3 | Use Case Selection | β | β | USECASE.md |
1.4 | Use Case Definition | β | β | USECASE.md |
- | - | - | - | - |
1.5 | Setup a code versioning repository | β | β | . |
1.6 | Find a name | β | β | . |
- | - | - | - | - |
2.1 | Exploratory Data Analysis | β | β | exploratory_data_analysis.ipynb |
2.2 | Train your model | β | β | models/ |
2.3 | Evaluate your model | β | β | models/ |
2.4 | Weights and Biases | β | β | models/ |
- | - | - | - | - |
3.1 | API to serve the model | β | β | deployment/ |
3.2 | Package API in a Docker | β | β | deployment/ |
3.3 | Deploy API in the cloud | β | β | deployment/ |
- | - | - | - | - |
4.1 | Package model training in a Docker | β | β | deployment_train/ |
4.2 | Run your model training in the cloud | β | β | deployment_train/ |
4.3 | Automated Pipeline | β | β | |
- | - | - | - | - |
5.1 | Dashboard | β | β | deployment/ |
5.2 | CICD | β | β | .github/workflows/ |
5.3 | CICD: Model Training | β | β | .github/workflows/training.yml |
5.4 | CICD: Model Deployment | β | β | .github/workflows/deploy.yml |
5.5 | CICD: Pylint | β | β | .github/workflows/pylint.yml |
5.6 | CICD: Pytest | β | β | .github/workflows/pytest.yml |
During the development of this project, we strictly adhered to Gitflow principles to maintain a structured and efficient workflow. Our main branch served as the repository's official release history, containing stable and approved code. Whenever we initiated work on a new feature, we created a dedicated branch branching off from the main branch. This allowed us to isolate development efforts and maintain a clean codebase.
Once a feature was fully developed and thoroughly tested, we initiated a pull request to merge the feature branch into the master branch. This integration process ensured that only completed and validated features were merged into the main branch, thereby preserving the stability and integrity of our codebase. By following this approach, we maintained a systematic and organized development cycle, enabling seamless collaboration among team members and facilitating the management of feature implementations.
This project is licensed under the MIT License - see the LICENSE file for details.