Awesome
Learning from Extrinsic and Intrinsic Supervisions for Domain Generalization
by Shujun Wang, Lequan Yu, Caizi Li, Chi-Wing Fu, and Pheng-Ann Heng.
Introduction
This repository is for our ECCV2020 paper 'Learning from Extrinsic and Intrinsic Supervisions for Domain Generalization'. The framework of the proposed EISNet for domain generalization. We train a feature Encoder $f$ for discriminative and transferable feature extraction and a classifier for object recognition. Two complementary tasks, a momentum metric learning task and a self-supervised auxiliary task, are introduced to prompt general feature learning. We maintain a momentum updated Encoder (MuEncoder) to generate momentum updated embeddings stored in a large memory bank. Also, we design a $K$-hard negative selector to locate the informative hard triplets from the memory bank to calculate the triplet loss. The auxiliary self-supervised task predicts the order of patches within an image.
Requirements
- python 3.6.8
conda create -n EISNet python=3.6.8
-
PyTorch 1.4.0
source activate EISNet conda install pytorch==1.4.0 torchvision cudatoolkit=9.2 -c pytorch
-
Other packages in requirements.txt
Usage
If you have already put the dataset into other paths, you need to change path in txt files in
EISNet/code/data/txt_lists/*.txt
.
-
Train the model.
sh run_PACS_photo_Resnet50.sh
Citation
If EISNet is useful for your research, please consider citing:
@inproceedings{wang2020learning,
title={Learning from Extrinsic and IntrinsicSupervisions for Domain Generalization},
author={Wang, Shujun and Yu, Lequan and Li, Caizi and Fu, Chi-Wing and Heng, Pheng-Ann},
booktitle={ECCV},
year={2020}
}