Skip to content

Latest commit

 

History

History
 
 

PaddleFSL

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PaddleFSL

PyPI version Contributions License

PaddleFSL is a Python library for few-shot learning (FSL) built upon PaddlePaddle 2.0.

  • Provide various FSL solutions which are applicable to diverse applications.
  • Contain detailed annotations and tutorial examples, such that users can easily develop and compare different FSL solutions.
  • Can be easily deployed on various training platforms.

Overview

  • paddlefsl: The proposed package for FSL.
    • paddlefsl.backbones: It provides representation learning models to extract sample representation, such as CNN, GNN and PLM.
    • paddlefsl.datasets: It provides publicly accessible benchmark few-shot datasets of diverse application scenarios, such as Omniglot, FewRel, FewGLUE and Tox21.
    • paddlefsl.model_zoo: It provides classical FSL models which particularly deal with the lack of labeled data, such as ProtoNet, MAML and PET.
    • paddlefsl.task_sampler: It provides APIs to split datasets into the typical N-way K-shot tasks.
    • paddlefsl.utils: It provides auxiliary APIs of PaddleFSL.
  • examples: It provides examples of applying PaddleFSL to diverse application scenarios, such as computer vision tasks, natural language tasks and bioinformatics tasks.
  • raw_data: It provides guides to download and place the raw data files.
  • test: It provides unit test files of functions and classes.

Installation

To use our package, users should first install paddlepaddle-v2.0.0 or later versions, see https://www.paddlepaddle.org.cn/install .

First, install our required packages.

# Clone our repository.
git clone https://github.com/tata1661/FSL-Mate.git
# Install requirements.
cd FSL-Mate/PaddleFSL
pip install -r requirements.txt

Second, update environment variables.

# Please edit env.sh to set the correct path of FSL-paddletoolkit directory.
# Then do:
source env.sh
# If you want to use our package frequently, you can add environment variables into .bashrc
cat env.sh >> ~/.bashrc
source ~/.bashrc

Finally, check whether the installation is successful.

# Start a python interpreter
python
>>> import paddlefsl
>>> paddlefsl.__version__
'1.1.0'

Cite Us

Please cite our paper if you find PaddleFSL useful.

@misc{shen2022paddlefsl,
  title={PaddleFSL: A General Few-Shot Learning Toolbox in Python},
  author={Shen, Zhenqian and Wang, Yaqing and Xiong, Haoyi and Tian, Xin and Chen, Zeyu and Yao, Quanming and Dou, Dejing},
  year={2022},
  url={https://cse.hkust.edu.hk/~ywangcy/aux_file/PaddleFSL-2022.pdf},
  note={Available at: https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL}
}

Contributing

PaddleFSL is mainly contributed by W Group led by Yaqing Wang. The full list of PaddleFSL contributors is here.

We also welcome and appreciate community contribution to improve PaddleFSL, such as introducing new datasets, models and algorithms, designing new features and fixing bugs. The codes can be contributed via pull requests and code review. Please also feel free to open an issue for feedbacks or advices.