This is the official implementation of Entropy is not Enough for Test-Time Adaptation: From the Perspective of Disentangled Factors 🔗
by Jonghyun Lee, Dahuin Jung, Saehyung Lee, Junsung Park, Juhyeon Shin, Uiwon Hwang and Sungroh Yoon (ICLR 2024 Spotlight, Top-5% of the submissions).
This implementation is based on SAR implementation 🔗.
You should modify [username] and [env_name] in environment.yaml, then
$ conda env create --file environment.yaml
TENT 🔗 (ICLR 2021)
EATA 🔗 (ICML 2022)
SAR 🔗 (ICLR 2023)
You can download ImageNet-C from a link ImageNet-C 🔗.
After downloading the dataset, move to the root directory ([data_root]) of datasets.
If you run on ColoredMNIST 🔗 or Waterbirds 🔗, run
$ python pretrain_[dataset_name].py --root_dir [data_root] --dset [dataset_name]
Then datasets are automatically downloaded in your [data_root] directory.
(ColoredMNIST from torchvision 🔗 and ./dataset/ColoredMNIST_dataset.py, Waterbirds from wilds 🔗 package)
Your [data_root] will be as follows:
data_root
├── ImageNet-C
│ ├── brightness
│ ├── contrast
│ └── ...
├── ColoredMNIST
│ ├── ColoredMNIST_model.pickle
│ ├── MNIST
│ ├── train1.pt
│ ├── train2.pt
│ └── test.pt
├── Waterbirds
│ ├── metadata.csv
│ ├── waterbirds_dataset.h5py
│ ├── waterbirds_pretrained_model.pickle
│ ├── 001. Black_footed_Albatross
│ ├── 002. Laysan_Albatross
└── └── ...
If you don't want to pre-train, you can just copy and paste the [dataset_name]_model.pickle from './pretrained/' directory.
You can run most of the experiments in our paper by
$ chmod +x exp_deyo.sh
$ ./exp_deyo.sh
If you want to run on the ImageNet-R or VISDA-2021, you should use main_da.py
You should modify ROOT variable as [data_root] in exp_deyo.sh.
If our DeYO method or biased test-time adaptation settings are helpful in your research, please consider citing our paper:
@inproceedings{
lee2024entropy,
title={Entropy is not Enough for Test-Time Adaptation: From the Perspective of Disentangled Factors},
author={Jonghyun Lee and Dahuin Jung and Saehyung Lee and Junsung Park and Juhyeon Shin and Uiwon Hwang and Sungroh Yoon},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=9w3iw8wDuE}
}