Home

Awesome

Multi-Task Curriculum Framework for Open-Set SSL

This is the official PyTorch implementation of Multi-Task Curriculum Framework for Open-Set Semi-Supervised Learning.

<p align="left"> <img src="images/architecture.png" alt="architecture" width="850px"> </p>

Requirements

Preparation

Download out-of-distributin datasets from Dropbox.

mkdir data
cd data
wget https://www.dropbox.com/s/7nj0sfunoqu9alu/OOD_data.zip
unzip OOD_data.zip
cd ..

Usage

Train baseline

Run

python run.py --gpu {GPU_ID} --n-labeled {#LABELED_SAMPLES} --data {OOD_DATASET} --method baseline

For example, train MixMatch with 250 labeled samples and TinyImageNet as OOD, please run:

python run.py --gpu 0 --n-labeled 250 --data TIN --method baseline

Trained model will be saved at runs_baseline.

Train proposed method

Run

python run.py --gpu {GPU_ID} --n-labeled {#LABELED_SAMPLES} --data {OOD_DATASET} --method proposed

For example, train proposed method with 250 labeled samples and TinyImageNet as OOD, please run:

python run.py --gpu 0 --n-labeled 250 --data TIN --method proposed

Trained model will be saved at runs_proposed.

For more details and parameters, please refer to --help option.

References