csyanbin / TPN-pytorch

Pytorch Code for ICLR19 paper: Learning to Propagate Labels: Transductive Propagation Network for Few-shot Learning.
175 stars 29 forks source link
few-shot-learning label-propagation meta-learning pytorch transductive-few-shot-learning

Transductive Propagation Network

Pytorch Code for ICLR19 paper Learning to Propagate Labels: Transductive Propagation Network for Few-shot Learning. pdf

Requirements

Data Download (miniImagenet and tieredImagenet)

Please download the compressed tar files from: https://github.com/renmengye/few-shot-ssl-public

mkdir -p data/miniImagenet/data
tar -zxvf mini-imagenet.tar.gz
mv *.pkl data/miniImagenet/data

mkdir -p data/tieredImagenet/data
tar -xvf tiered-imagenet.tar
mv *.pkl data/tieredImagenet/data

TPN mini-5way1shot

python train.py --gpu=0 --n_way=5 --n_shot=1 --n_test_way=5 --n_test_shot=1 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w1s_5tw1ts_rn300_k20 --rn=300 --alpha=0.99 --k=20
python test.py --gpu=0 --n_way=5 --n_shot=1 --n_test_way=5 --n_test_shot=1 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w1s_5tw1ts_rn300_k20 --rn=300 --alpha=0.99 --k=20 --iters=81500

TPN mini-5way5shot

python train.py --gpu=0 --n_way=5 --n_shot=5 --n_test_way=5 --n_test_shot=5 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w5s_5tw5ts_rn300_k20 --rn=300 --alpha=0.99 --k=20
python test.py --gpu=0 --n_way=5 --n_shot=5 --n_test_way=5 --n_test_shot=5 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w5s_5tw5ts_rn300_k20 --rn=300 --alpha=0.99 --k=20 --iters=50100

TPN tiered-5way1shot

python train.py --gpu=0 --n_way=5 --n_shot=1 --n_test_way=5 --n_test_shot=1 --lr=0.001 --step_size=25000 --dataset=tiered --exp_name=tiered_TPN_5w1s_5tw1ts_rn300_k20 --rn=300 --alpha=0.99 --k=20

TPN tiered-5way5shot

python train.py --gpu=0 --n_way=5 --n_shot=5 --n_test_way=5 --n_test_shot=5 --lr=0.001 --step_size=25000 --dataset=tiered --exp_name=tiered_TPN_5w5s_5tw5ts_rn300_k20 --rn=300 --alpha=0.99 --k=20

Citation

If you use our code, please consider cite the following:


@inproceedings{liu2019fewTPN,
    title={Learning to Propagate Labels: Transductive Propagation Network for Few-shot Learning},
    author={Liu, Yanbin and Lee, Juho and Park, Minseop and Kim, Saehoon and Yang, Eunho and Hwang, Sung Ju and Yang, Yi},
    booktitle={International Conference on Learning Representations},
    year={2019},
}