All Projects → pykale → pykale

pykale / pykale

Licence: MIT license
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the 🔥PyTorch ecosystem

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pykale

Transferlearning
Transfer learning / domain adaptation / domain generalization / multi-task learning etc. Papers, codes, datasets, applications, tutorials.-迁移学习
Stars: ✭ 8,481 (+2125.98%)
Mutual labels:  transfer-learning, domain-adaptation, meta-learning
meta-learning-progress
Repository to track the progress in Meta-Learning (MtL), including the datasets and the current state-of-the-art for the most common MtL problems.
Stars: ✭ 26 (-93.18%)
Mutual labels:  transfer-learning, domain-adaptation, meta-learning
Multitask Learning
Awesome Multitask Learning Resources
Stars: ✭ 361 (-5.25%)
Mutual labels:  transfer-learning, domain-adaptation, meta-learning
transfertools
Python toolbox for transfer learning.
Stars: ✭ 22 (-94.23%)
Mutual labels:  transfer-learning, domain-adaptation
Awesome Domain Adaptation
A collection of AWESOME things about domian adaptation
Stars: ✭ 3,357 (+781.1%)
Mutual labels:  transfer-learning, domain-adaptation
Meta Transfer Learning
TensorFlow and PyTorch implementation of "Meta-Transfer Learning for Few-Shot Learning" (CVPR2019)
Stars: ✭ 439 (+15.22%)
Mutual labels:  transfer-learning, meta-learning
Cross Domain ner
Cross-domain NER using cross-domain language modeling, code for ACL 2019 paper
Stars: ✭ 67 (-82.41%)
Mutual labels:  transfer-learning, domain-adaptation
Deep Transfer Learning
Deep Transfer Learning Papers
Stars: ✭ 68 (-82.15%)
Mutual labels:  transfer-learning, domain-adaptation
Libtlda
Library of transfer learners and domain-adaptive classifiers.
Stars: ✭ 71 (-81.36%)
Mutual labels:  transfer-learning, domain-adaptation
Convolutional Handwriting Gan
ScrabbleGAN: Semi-Supervised Varying Length Handwritten Text Generation (CVPR20)
Stars: ✭ 107 (-71.92%)
Mutual labels:  transfer-learning, domain-adaptation
Awesome Transfer Learning
Best transfer learning and domain adaptation resources (papers, tutorials, datasets, etc.)
Stars: ✭ 1,349 (+254.07%)
Mutual labels:  transfer-learning, domain-adaptation
Shot
code released for our ICML 2020 paper "Do We Really Need to Access the Source Data? Source Hypothesis Transfer for Unsupervised Domain Adaptation"
Stars: ✭ 134 (-64.83%)
Mutual labels:  transfer-learning, domain-adaptation
Clan
( CVPR2019 Oral ) Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
Stars: ✭ 248 (-34.91%)
Mutual labels:  transfer-learning, domain-adaptation
Transfer Learning Library
Transfer-Learning-Library
Stars: ✭ 678 (+77.95%)
Mutual labels:  transfer-learning, domain-adaptation
adapt
Awesome Domain Adaptation Python Toolbox
Stars: ✭ 46 (-87.93%)
Mutual labels:  transfer-learning, domain-adaptation
SHOT-plus
code for our TPAMI 2021 paper "Source Data-absent Unsupervised Domain Adaptation through Hypothesis Transfer and Labeling Transfer"
Stars: ✭ 46 (-87.93%)
Mutual labels:  transfer-learning, domain-adaptation
TA3N
[ICCV 2019 Oral] TA3N: https://github.com/cmhungsteve/TA3N (Most updated repo)
Stars: ✭ 45 (-88.19%)
Mutual labels:  transfer-learning, domain-adaptation
cmd
Central Moment Discrepancy for Domain-Invariant Representation Learning (ICLR 2017, keras)
Stars: ✭ 53 (-86.09%)
Mutual labels:  transfer-learning, domain-adaptation
KD3A
Here is the official implementation of the model KD3A in paper "KD3A: Unsupervised Multi-Source Decentralized Domain Adaptation via Knowledge Distillation".
Stars: ✭ 63 (-83.46%)
Mutual labels:  transfer-learning, domain-adaptation
Ddc Transfer Learning
A simple implementation of Deep Domain Confusion: Maximizing for Domain Invariance
Stars: ✭ 83 (-78.22%)
Mutual labels:  transfer-learning, domain-adaptation

project-pykale

Very cool library with lots of great ideas on moving toward 'green', efficient multimodal machine learning and AI.

Kevin Carlberg, AI Research Science Manager at Facebook Reality Labs (quoted from tweet).


tests codecov GitHub license Python PyPI version PyPI downloads

Getting Started | Documentation | Contributing | Discussions | Changelog

PyKale is a library in the PyTorch ecosystem aiming to make machine learning more accessible to interdisciplinary research by bridging gaps between data, software, and end users. Both machine learning experts and end users can do better research with our accessible, scalable, and sustainable design, guided by green machine learning principles. PyKale has a unified pipeline-based API and focuses on multimodal learning and transfer learning for graphs, images, and videos at the moment, with supporting models on deep learning and dimensionality reduction.

PyKale enforces standardization and minimalism, via green machine learning concepts of reducing repetitions and redundancy, reusing existing resources, and recycling learning models across areas. PyKale will enable and accelerate interdisciplinary, knowledge-aware machine learning research for graphs, images, and videos in applications including bioinformatics, graph analysis, image/video recognition, and medical imaging, with an overarching theme of leveraging knowledge from multiple sources for accurate and interpretable prediction.

See our arXiv preprint and four short introductory videos on YouTube: Why build PyKale? How was PyKale built? What's in PyKale? and a 5-min summary.

Pipeline-based API

  • loaddata loads data from disk or online resources as 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 visualization
  • pipeline specifies a machine learning workflow by combining several other modules

Example usage

  • examples demonstrate real applications on specific datasets with a standardized structure.

How to Use

Step 0: Installation

PyKale supports Python 3.7, 3.8, or 3.9. 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: Tutorials and Examples

Start with a brief tutorial walking through API usage in examples or interactive Jupyter notebook tutorials, e.g. Open in Colab or Binder for a basic digit classification problem.

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 maintained by Haiping Lu, Shuo Zhou, Xianyuan Liu, and Peizhen Bai, with contributions from many other contributors.

Citation

    @inproceedings{pykale-cikm2022,
      title     = {{PyKale}: Knowledge-Aware Machine Learning from Multiple Sources in {Python}},
      author    = {Haiping Lu and Xianyuan Liu and Shuo Zhou and Robert Turner and Peizhen Bai and Raivo Koot and Mustafa Chasmai and Lawrence Schobs and Hao Xu},
      booktitle = {Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM)},
      doi       = {10.1145/3511808.3557676},
      year      = {2022}
    }

Please consider citing our CIKM2022 paper above if you find PyKale useful to your research.

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".
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].