Skip to main content

ChildGrowthMonitor's ML Common code

Project description

codecov Python package Binder CodeFactor

Child Growth Monitor Machine Learning

Child Growth Monitor (CGM) is a game-changing app to detect malnutrition. If you have questions about the project, reach out to info@childgrowthmonitor.org.

This is the Machine Learnine repository associated with the CGM project.

Introduction

This project uses machine learning to identify malnutrition from 3D scans of children under 5 years of age. This one-minute video explains.

Getting started

Requirements

Our development environment is Microsoft Azure ML

You will need:

  • Python 3.6 or Python 3.7
  • TensorFlow version 2
  • other libraries

To install, run:

pip install -r requirements.txt

For installing point cloud libraries, refer to README_installation_details_pcl.md.

Dataset access

If you have access to scan data, you can use: cgmml/data_utils to understand and visualize the data.

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.

Repository structure

The source code is in cgmml/.

We make heavy use of AzureML. For AzureML, all code for an 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.

Run linting / tests

# Make sure to be in the root dir of this repository
flake8 cgmml/
pytest

Release cgm-ml-common

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

Contributing

Please see CONTRIBUTING.md for details.

Versioning

Our releases use semantic versioning. You can find a chronologically ordered list of notable changes in CHANGELOG.md.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cgm-ml-common-3.1.6.tar.gz (830.3 kB view hashes)

Uploaded Source

Built Distribution

cgm_ml_common-3.1.6-py3-none-any.whl (873.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page