Giter VIP home page Giter VIP logo

dsu's Introduction

Python 3.6 PyTorch 1.5.0

Uncertainty Modeling for Out-of-Distribution Generalization (DSU)

Official pytorch implementation of "Uncertainty Modeling for Out-of-Distribution Generalization" in International Conference on Learning Representations (ICLR) 2022.

By Xiaotong Li, Yongxing Dai, Yixiao Ge, Jun Liu, Ying Shan, Ling-Yu Duan.

Introduction

In this paper, we improve the network generalization ability by modeling the uncertainty of domain shifts with synthesized feature statistics during training. Specifically, we hypothesize that the feature statistic, after considering the potential uncertainties, follows a multivariate Gaussian distribution. Hence, each feature statistic is no longer a deterministic value, but a probabilistic point with diverse distribution possibilities. With the uncertain feature statistics, the models can be trained to alleviate the domain perturbations and achieve better robustness against potential domain shifts.

Overview

Requirements

We use the following versions of OS and softwares:

  • OS: Ubuntu 16.04
  • Python: 3.6.8
  • PyTorch: 1.5.0
  • CUDA: 10.1

Following the instructions of individual repositories to install the required environments.

Experiments

The experiments include: instance retrieval (person re-identification on DukeMTMC and Market1501), multi-domain generalization (PACS and Office-Home), and semantic segmentation (from GTA5 to CityScapes). The core code of our method can be found in dsu.py

Instance Retrieval

Multi-domain Generalization

Semantic Segmentation

Citation

If you find our work is useful for your research, please kindly cite our paper.

@inproceedings{
li2022uncertainty,
title={Uncertainty Modeling for Out-of-Distribution Generalization},
author={Xiaotong Li and Yongxing Dai and Yixiao Ge and Jun Liu and Ying Shan and LINGYU DUAN},
booktitle={International Conference on Learning Representations},
year={2022},
url={https://openreview.net/forum?id=6HN7LHyzGgC}
}

Contact

If you have any questions, you can contact me from the email: [email protected]

dsu's People

Contributors

lixiaotong97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dsu's Issues

Evaluation Protocol

Thanks for your awesome research!
I have some questions about the experimental settings.

Q1. Could I ask the evaluation protocol you use? Did you split the images from training domains to train : val when you search hyper-parameters?
Q2. Did you also train the data in validation set when you report the final result?

Question about FrozenBatchNorm in Semantic Segmentation

Hi, author. Thanks for open-sourcing the code.

I have a question about the FrozenBatchNorm in semantic segmentation. I have read about the code of FrozenBatchNorm2d you provided. It seems that the FrozenBatchNorm2d is an identity operation. Which means that there is no normalization operation during training. Why you use FrozenBatchNorm during training in semantic segmentation?

error about "class DistributionUncertainty(nn.Module)"

self.pertubration0 = pertubration(dim=64, p=uncertainty) if pertubration else nn.Identity()
TypeError: init() got an unexpected keyword argument 'dim'

I would like to ask, why do I get this error message when initializing the DSU module?

Could not implement the paper's results of semantic segmentation task

Hi, I run the code to implement semantic segmentation results of GTA5->Cityscapes. The baseline result is 38.8, which is 1.8 higher than you report in the paper. The DSU result is 41.05, which is 2.0 lower than you report in the paper.

I follow the code and run the experiment on 4 V100.

baseline detail:
image

DSU detail:
image

I want to know how you report the result in the paper, whether it is a mean way or max way?

The results of instance retrieval

Hi, thanks for sharing your code.

I run instance retrieval on my machine. On the first test, the mAP is 24.9%. But in the following test, the mAP gradually decreased. On the last test, the mAP is only 1.2%.

Do you have any ideas about why this phenomenon happened? Thank you very much!

About the experiment results

Did you use the best results (show in the output log) as your final results? If not, would you please tell me how did you get the results reported in the paper? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.