Child Growth Monitor (CGM) is a game-changing app to detect malnutrition.
If you have questions about the project, reach out to [email protected]
.
This is the Machine Learnine repository associated with the CGM project.
This project uses machine learning to identify malnutrition from 3D scans of children under 5 years of age. This one-minute video explains.
You will need:
- Python 3.7
- TensorFlow version 2
- other libraries
To install, run:
pip install -r requirements.txt
We use Microsoft Azure ML to manage our datasets, experiments, and models internally. You can also run most of the code without AzureML though.
Data access is provided on as-needed basis following signature of the Welthungerhilfe Data Privacy & Commitment to Maintain Data Secrecy Agreement. If you need data access (e.g. to train your machine learning models), please contact Markus Matiaschek for details.
If you have access to scan data, you can use: cgmml/data_utils
to understand and visualize the data.
The source code is in cgmml/
.
Due to AzureML, all code for a single experiment run needs to reside in one directory. Example: All code for one specific training, e.g. a ResNet training, needs to be in this training directory.
However, many of our trainings (and also evaluation runs) share large portions of code.
In order to reduce code duplication, we copy shared(a.k.a. common) utility code with copy_dir()
from cgmml/common/
into the training/evaluation directory.
This way, during the experiment run, the code is in the directory and can be used during the run.
# Make sure to be in the root dir of this repository
flake8 cgmml/
pytest
Common functionalities of this repo are released on pypi: https://pypi.org/project/cgm-ml-common/
To release a new version of cgm-ml-common:
- Configure the version you wish to release in
setup.py
- Publish the release using the pipeline
.github/workflows/pypi-release.yml
Please see CONTRIBUTING.md for details.
Our releases use semantic versioning. You can find a chronologically ordered list of notable changes in CHANGELOG.md.
This project is licensed under the GNU General Public License v3.0. See LICENSE for details and refer to NOTICE for additional licensing notes and use of third-party components.