Giter VIP home page Giter VIP logo

mlnet's Introduction

MLNet arXiv

[AAAI 2024] MLNet: Mutual Learning Network with Neighborhood Invariance for Universal Domain Adaptation

Installation

Please refer to the following official websites or download links to get datasets.

Dataset Official Website Download Link
Office https://faculty.cc.gatech.edu/~judy/domainadapt/ https://drive.google.com/open?id=0B4IapRTv9pJ1WGZVd1VDMmhwdlE
OfficeHome https://www.hemanthdv.org/officeHomeDataset.html https://drive.google.com/file/d/0B81rNlvomiwed0V1YUxQdC1uOTg/view?resourcekey=0-2SNWq0CDAuWOBRRBL7ZZsw
VisDA http://ai.bu.edu/visda-2017/ https://github.com/VisionLearningGroup/taskcv-2017-public/tree/master/classification

Then create corresponding symbol links in the data/ folder as follows. Please make sure that the name of each dataset folder is the same as given below, otherwise the path in the image list may become invalid. Don't forget to create an extra symbol link for the OfficeHome dataset to remove the space in the Read-world domain.

ln -s PATH_TO_YOUR_OFFICE data/Office
ln -s PATH_TO_YOUR_OFFICEHOME data/OfficeHome
ln -s PATH_TO_YOUR_VISDA data/VisDA
ln -s data/OfficeHome/Real\ World data/OfficeHome/Real

The directory structure of data/ should be as follows.

data/
├── Office -> /home/xxx/datasets/office
│   ├── amazon
│   ├── dslr
│   └── webcam
├── OfficeHome -> /home/xxx/datasets/OfficeHomeDataset_10072016
│   ├── Art
│   ├── Clipart
│   ├── ImageInfo.csv
│   ├── imagelist.txt
│   ├── Product
│   ├── Real -> Real World
│   └── Real World
├── splits
│   ├── Office
│   ├── OfficeHome
│   └── VisDA
└── VisDA -> /home/xxx/datasets/VisDA
    ├── image_list.txt
    ├── test
    ├── train
    └── validation

Finally, create the anaconda environment to complete the installation.

conda create -f environment.yaml

Run

We have provided a lot of running scripts in the scripts/ folder for single or multiple runs. For example, to perform UniDA training from Amazon(A) to DSLR(D) in the CDA setting on the Office dataset:

bash scripts/MLNet/Office/CDA/amazon2dslr.sh GPU_ID

If you want to modify some preset hyperparameters or settings in the configs/ folder, like doubling the learning rate for backbone:

bash scripts/MLNet/Office/CDA/amazon2dslr.sh GPU_ID OPTIMIZER.FT_LR 0.002

It is also possible to train a single setting or all settings of the same dataset at once:

bash scripts/MLNet/Office/train_all_cda.sh GPU_ID
bash scripts/MLNet/Office/train_all.sh GPU_ID

Note that you don't need to activate the environment or set the number of threads by yourself, it's all automatic. When training MLNet on the VisDA dataset, the required memory can be large. The above scripts are also available for the baseline OVANet.

Citation

@inproceedings{lu2024mlnet,
  title={MLNet: Mutual Learning Network with Neighborhood Invariance for Universal Domain Adaptation},
  author={Lu, Yanzuo and Shen, Meng and Ma, Andy J and Xie, Xiaohua and Lai, Jian-Huang},
  booktitle={AAAI},
  year={2024}
}

mlnet's People

Contributors

yanzuolu avatar

Stargazers

 avatar  avatar Kerry Niker avatar ZhizhouZhong avatar Zhizhou Zhong avatar  avatar Xiang (Angelo) Fang, 方翔 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

happy-charity

mlnet's Issues

实验设置疑惑

作者你好,请问论文题目所说的UniDa是指在已知两域类别情况下分别做OPDA,CDA,ODA,PDA的实验来证明通用性吗?而不是真正在目标域类别信息未知的前提下判断是否为公共类还是私有类。
image

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.