Skip to main content

Knowledge-aware machine learning from multiple sources in Python

Project description

project-monai PyKale


tests Documentation Status PyPI version PyPI downloads

Getting Started | Documentation | Contributing | Discussions

PyKale is a PyTorch library for multimodal learning and transfer learning on graphs, images, and videos. By adopting a unified pipeline-based API design, PyKale enforces standardization and minimalism. PyKale aims to facilitate interdisciplinary, knowledge-aware machine learning research for graphs, images, and videos in computer vision, graph analysis, and medical imaging applications. It focuses on leveraging knowledge from multiple sources for accurate and interpretable prediction. PyKale's other key machine learning areas of interests include dimensionality reduction and deep learning. See the Trello board for an API overview.

Pipeline-based core API (generic and reusable)

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

Example usage

  • examples demonstrate real applications on specific datasets.

Installation

You should install PyTorch matching your hardware first. To work on graphs, install PyTorch Geometric first follow its official instructions.

Install PyKale using pip for the stable version:

pip install pykale  # for the core kale API only
pip install pykale[extras]  # for Examples/Tutorials (including core API)

Install from source for the latest version and/or development:

git clone https://github.com/pykale/pykale
cd pykale
pip install .  # for core API only
pip install .[extras]  # with extras for examples/tutorials
pip install -e .[dev]  # editable install for developers including all dependencies

To run the unit tests:

pytest

More comprehensive test cases are not yet available.

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

We appreciate all contributions. You can contribute in three ways:

  • Star and fork PyKale to follow its latest developments, share it with your networks, and ask questions about it.
  • Use PyKale in your project and let us know any bugs (& fixes) and feature requests/suggestions via creating an issue.
  • Contribute your code such as new features, functions, or examples via fork and pull to become one of the contributors.

See contributing guidelines for more details. You can also reach us via email if needed. 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) Cameron Mcwilliam, Robert Turner, 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.0b1.tar.gz (81.3 kB view details)

Uploaded Source

Built Distribution

pykale-0.1.0b1-py2.py3-none-any.whl (109.5 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pykale-0.1.0b1.tar.gz
  • Upload date:
  • Size: 81.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for pykale-0.1.0b1.tar.gz
Algorithm Hash digest
SHA256 519480ed12455f2482d2391c70b047776451ac433a5b8f5a5582e39504bb96c6
MD5 361124be7521a7d9f69ce559260eca78
BLAKE2b-256 4ffc1664c55c3d15682cda8d34fc7ec12f566cdd4e005b7ef59fcb878d64f7a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pykale-0.1.0b1-py2.py3-none-any.whl
  • Upload date:
  • Size: 109.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for pykale-0.1.0b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 37b19cda906533afb55c1e418c5582b36e116569b716aebc167e369b419b0d0d
MD5 1af1d1703cfd40b28b7fad3be5fa362f
BLAKE2b-256 f80c9085c6038925ea319cf02ffdd641f3f16253272945de95968f69c42feefe

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