This repository hosts the code for our paper accepted by IEEE Transactions on Knowledge and Data Engineering (TKDE):
Open-Domain Semi-Supervised Learning via Glocal Cluster Structure Exploitation
Zekun Li, Lei Qi, Yawen Li, Yinghuan Shi*, Yang Gao
We suggest first creating a conda environment:
conda create --name glocalmatch python=3.8
then use pip to install required packages:
pip install -r requirements.txt
Please download the data files from this link and put them into the ./data
folder:
GlocalMatch
├── config
└── ...
├── data
├── cifarstl
└── cifar
└── stl
└── domainnet_balanced
└── ...
└── pacs
└── ...
├── semilearn
└── ...
└── ...
We implement GlocalMatch using the codebase of USB.
Here is an example to train GlocalMatch on the CIFAR-STL benchmark, with CIFAR as the labeled domain, and 45 labels available per class.
# seed = 1
CUDA_VISIBLE_DEVICES=0 python train.py --c config/opendomain_cv/glocalmatch/glocalmatch_cifarstl_c45_1.yaml
For other tasks, the config files have been released in ./config/opendomain_cv
.
@article{glocalmatch,
title={Open-Domain Semi-Supervised Learning via Glocal Cluster Structure Exploitation},
author={Li, Zekun and Qi, Lei and Li, Yawen and Shi, Yinghuan and Gao, Yang},
journal={IEEE TKDE},
year={2024}
}