Skip to main content

Knowledge-aware machine learning from multiple sources in Python

Project description

project-monai PyKale


build Unit Tests Documentation Status Conda license

Getting Started | Documentation | Contributing | Discussions

PyKale is a machine learning library that leverages knowledge from multiple sources for accurate and interpretable prediction. It supports graphs, images, and videos now. It is based on PyTorch and several other libraries but differs from existing ones by adopting a unified pipeline-based APIs design and incorporating key recent developments. See the Trello board for an overview.

Machine learning pipeline

PyKale also aims to facilitate interdisciplinary research on knowledge-aware machine learning for graphs, images, and videos in computer vision, graph analysis, and medical imaging applications. Key machine learning areas of interests include dimensionality reduction, deep learning, multimodal learning, and transfer learning.

Pipeline-based modules (core, generic, and reusable)

  • loaddata load data from disk or online resources as in input
  • prepdata preprocess data to fit machine learning modules below (transforms)
  • embed embed data in a new space to learn a new representation (feature extraction/selection)
  • predict predict a desired output
  • evaluate evaluate the performance using some metrics
  • interpret interpret the features and outputs via post-prediction analysis mainly via visualisation
  • pipeline specify a machine learning workflow by combining several other modules

Dataset-specific modules

  • examples: Real-application on particular datasets.

Installation

Requirements:

  • Python >= 3.6
  • PyTorch >= 1.7

Install PyKale using pip or conda:

pip install pykale
conda install -c pykale pykale

You need to first install PyTorch Lightning for kale.embed.pipeline and PyTorch Geometric to work on graphs.

To upgrade to the latest (unstable) version, run

pip install --upgrade git+https://github.com/pykale/pykale.git

To run the unit tests:

python -m unittest

Examples, Tutorials, and Discussions

See our numerous examples (and tutorials) on how to perform prediction tasks in PyKale.

Ask and answer questions over on PyKale's GitHub Discussions tab.

Contributing

PyKale is under active development. Please star and fork PyKale to follow the latest update. Welcome to contribute and join / contact us via email. The participation in this open source project is subject to Code of Conduct.

The Team

PyKale is primarily maintained by a group of researchers at the University of Sheffield: Haiping Lu, Raivo Koot, Xianyuan Liu, Shuo Zhou, and Peizhen Bai.

We would like to thank our other contributors including (but not limited to) David Jones, and Will Furnass.

Citation

@Misc{pykale2021,
  author =   {Haiping Lu and Raivo Koot and Xianyuan Liu and Shuo Zhou and Peizhen Bai},
  title =    {{PyKale}: Knowledge-aware machine learning from multiple sources in Python},
  howpublished = {\url{https://github.com/pykale/pykale}},
  year = {2021}
}

Acknowledgements

The development of PyKale is partially supported by the following project(s).

  • Wellcome Trust Innovator Awards: Digital Technologies Ref 215799/Z/19/Z "Developing a Machine Learning Tool to Improve Prognostic and Treatment Response Assessment on Cardiac MRI Data".

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

pykale-0.1.0a1.tar.gz (86.4 kB view details)

Uploaded Source

Built Distribution

pykale-0.1.0a1-py2.py3-none-any.whl (106.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pykale-0.1.0a1.tar.gz.

File metadata

  • Download URL: pykale-0.1.0a1.tar.gz
  • Upload date:
  • Size: 86.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for pykale-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 f4ac624b6616b45dff4b129eb544533345b0cf7e939ba9718e335b3fc2330fab
MD5 e8b170ba2deefe15bc38f2de4220079f
BLAKE2b-256 20a68047dcb0a6e09aa20c0533a7aa78a5ffca3a4ca9916f7abd44d5631c8d2a

See more details on using hashes here.

File details

Details for the file pykale-0.1.0a1-py2.py3-none-any.whl.

File metadata

  • Download URL: pykale-0.1.0a1-py2.py3-none-any.whl
  • Upload date:
  • Size: 106.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for pykale-0.1.0a1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c5a2562de9922fde38fd88901285fec8891e6efe10eb1873dfe4cdf962e018ea
MD5 ec23389b57cc27ab6044c5631e97a35b
BLAKE2b-256 29bcadd57166cb5dee2365fe0bf470747d1693e94d0e41e443370db17b3e6f85

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