Knowledge-aware machine learning from multiple sources in Python
Project description
Getting Started | Documentation | Contributing | Discussions | Changelog
PyKale is a PyTorch library for multimodal learning and transfer learning as well as deep learning and dimensionality reduction on graphs, images, texts, and videos. By adopting a unified pipeline-based API design, PyKale enforces standardization and minimalism, via reusing existing resources, reducing repetitions and redundancy, and recycling learning models across areas. PyKale aims to facilitate interdisciplinary, knowledge-aware machine learning research for graphs, images, texts, and videos in applications including bioinformatics, graph analysis, image/video recognition, and medical imaging. It focuses on leveraging knowledge from multiple sources for accurate and interpretable prediction. See a 12-minute introduction video on YouTube.
Pipeline-based API (generic and reusable)
loaddata
loads data from disk or online resources as in inputprepdata
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 outputevaluate
evaluates the performance using some metricsinterpret
interprets the features and outputs via post-prediction analysis mainly via visualisationpipeline
specifies a machine learning workflow by combining several other modules
Example usage
examples
demonstrate real applications on specific datasets.
How to Use
Step 0: Installation
PyKale supports Python 3.6+. Before installing pykale
, we suggest you to first install PyTorch matching your hardware, and if graphs will be used, install PyTorch Geometric following its official instructions.
Simple installation of pykale
from PyPI:
pip install pykale
For more details and other options, please refer to the installation guide.
Step 1: Tutorial and Examples
Start with a brief tutorial walking through API usage in examples.
Browse through the examples to see the usage of PyKale in performing various prediction tasks in a wide range of applications, using a variety of settings, e.g. with or without PyTorch Lightning.
Ask questions on PyKale's GitHub Discussions tab if you need help or create an issue if you find som
Step 2: Building and Contributing
Build new modules and/or projects with PyKale referring to the tutorial, e.g., on how to modify an existing pipeline or build a new one.
This is an open-source project welcoming your 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 via branch, fork, and pull for minor fixes and new features, functions, or examples 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.
Who We Are
The Team
PyKale is primarily maintained by a group of researchers at the University of Sheffield: Haiping Lu, Raivo Koot, Xianyuan Liu, Shuo Zhou, Peizhen Bai, and Robert Turner.
We would like to thank our other contributors including (but not limited to) Cameron McWilliam, David Jones, and Will Furnass.
Citation
@Misc{pykale2021,
author = {Haiping Lu and Raivo Koot and Xianyuan Liu and Shuo Zhou and Peizhen Bai and Robert Turner},
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
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 pykale-0.1.0rc1.tar.gz
.
File metadata
- Download URL: pykale-0.1.0rc1.tar.gz
- Upload date:
- Size: 99.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71f28e32fcda63acd2464b3d9615bb4b4d5db458888d5b4ef30bc670aad3c560 |
|
MD5 | f718670e01c6a848703b6c674a50881b |
|
BLAKE2b-256 | 63c90d7c270ce8c324ce36ae6c9c7627d70a1d93a5c9ff47959849405d526454 |
File details
Details for the file pykale-0.1.0rc1-py2.py3-none-any.whl
.
File metadata
- Download URL: pykale-0.1.0rc1-py2.py3-none-any.whl
- Upload date:
- Size: 136.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd9d449f4de91d516e643a33dbdf223f7d7b8cea04e17db6ec028543c4b9bafe |
|
MD5 | 76e701dd54fba741307a000671b66f66 |
|
BLAKE2b-256 | 808d680616940582c0a70f20a0e0b641f7159713068db1e3999298884838b5ff |