Skip to content
/ TRO Public

The Pytorch implementation for "Topology-aware Robust Optimization for Out-of-Distribution Generalization" (ICLR 2023)

Notifications You must be signed in to change notification settings

joffery/TRO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Topology-aware Robust Optimization for Out-of-Distribution Generalization (TRO)

This repository holds the Pytorch implementation of Topology-aware Robust Optimization for Out-of-Distribution Generalization by Fengchun Qiao and Xi Peng. If you find our code useful in your research, please consider citing:

@inproceedings{qiao2023tro,
title={Topology-aware Robust Optimization for Out-of-Distribution Generalization},
author={Fengchun Qiao and Xi Peng},
booktitle={International Conference on Learning Representations (ICLR)},
year={2023}
}

Introduction

We study the problem of out-of-distribution (OOD) generalization. As generalizing to arbitrary test distributions is impossible, we hypothesize that further structure on the topology of distributions is crucial in developing strong OOD resilience. To this end, we propose topology-aware robust optimization (TRO) that seamlessly integrates distributional topology in a principled optimization framework.

Quick start

This repository reproduces our results on DG-15/60, TPT-48, and DomainBed, which is build upon Python3 and Pytorch v1.9.0 on Ubuntu 18.04. Please install all required packages by running:

pip install -r requirements.txt

Results on DG-15/60

Illustration of data groups in (a) DG-15 and (b) DG-60 datasets:

toy

To reproduce the results of TRO with physical-based topology on DG-15, please run:

python main.py --dataset toy_d15 --learn 0 --model TRO

To reproduce the results of TRO with data-driven topology on DG-15, please run:

python main.py --dataset toy_d15 --learn 1 --model TRO

To reproduce the results on DG-15, please change --dataset to toy_d60. You can also reproduce the results of other baselines by changing --model.

TODO

  • TPT-48
  • DomainBed

Acknowledgement

Part of our code is borrowed from the following repositories.

We thank to the authors for releasing their codes. Please also consider citing their works.

About

The Pytorch implementation for "Topology-aware Robust Optimization for Out-of-Distribution Generalization" (ICLR 2023)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published