Skip to main content

ChildGrowthMonitor's ML Common code

Project description

codecov Python package Supported Python Versions 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

You will need:

  • Python 3.6 or 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.

Dataset access

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.

Repository structure

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.

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.7.tar.gz (853.4 kB view details)

Uploaded Source

Built Distribution

cgm_ml_common-3.1.7-py3-none-any.whl (971.3 kB view details)

Uploaded Python 3

File details

Details for the file cgm-ml-common-3.1.7.tar.gz.

File metadata

  • Download URL: cgm-ml-common-3.1.7.tar.gz
  • Upload date:
  • Size: 853.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.2

File hashes

Hashes for cgm-ml-common-3.1.7.tar.gz
Algorithm Hash digest
SHA256 ac5a2a612eea9dc5525a025d0c349ca91bd9f676b110bdd5845ff4605b5d5475
MD5 504aeeb87f61b09cefa24fa470db7e8d
BLAKE2b-256 5bd68d2c520d7073ef8aa08de60b403461e9637b37d55221b3de258ed2badd68

See more details on using hashes here.

File details

Details for the file cgm_ml_common-3.1.7-py3-none-any.whl.

File metadata

  • Download URL: cgm_ml_common-3.1.7-py3-none-any.whl
  • Upload date:
  • Size: 971.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.2

File hashes

Hashes for cgm_ml_common-3.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2d8b4885ce6060727bd89df2fe598c12bedfaffcc3eb5e1abeb493bf77a520ce
MD5 1262252c6804c7f62dd70d1e821363b1
BLAKE2b-256 244376ae935c52df2095ac34f484f4127d9bcccf0c3f9d1f31d369be0155b1e9

See more details on using hashes here.

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