ChildGrowthMonitor's ML Common code
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac5a2a612eea9dc5525a025d0c349ca91bd9f676b110bdd5845ff4605b5d5475 |
|
MD5 | 504aeeb87f61b09cefa24fa470db7e8d |
|
BLAKE2b-256 | 5bd68d2c520d7073ef8aa08de60b403461e9637b37d55221b3de258ed2badd68 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d8b4885ce6060727bd89df2fe598c12bedfaffcc3eb5e1abeb493bf77a520ce |
|
MD5 | 1262252c6804c7f62dd70d1e821363b1 |
|
BLAKE2b-256 | 244376ae935c52df2095ac34f484f4127d9bcccf0c3f9d1f31d369be0155b1e9 |