GithubHelp home page GithubHelp logo

liyxi / adaptnas Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 25 KB

A PyTorch implementation of "Adapting Neural Architectures Between Domains" in NeurIPS 2020.

Python 100.00%
domain-adaptation neural-architecture-search cifar-10 imagenet digits

adaptnas's Introduction

Adapting Neural Architectures Between Domains (AdaptNAS)

Yanxi Li 1, Zhaohui Yang 2, 3, Yunhe Wang 2, Chang Xu 1

1 School of Computer Science, University of Sydney, Australia

2 Noah’s Ark Lab, Huawei Technologies, China

3 Key Lab of Machine Perception (MOE), Department of Machine Intelligence, Peking University, China

A PyTorch implementation of Adapting Neural Architectures Between Domains (AdaptNAS) in NeurIPS 2020.

[Abstract] [PDF]

This code is based on DARTS (https://github.com/quark0/darts).

Overview

Neural architecture search (NAS) has demonstrated impressive performance in automatically designing high-performance neural networks. The power of deep neural networks is to be unleashed for analyzing a large volume of data (e.g. ImageNet), but the architecture search is often executed on another smaller dataset (e.g. CIFAR-10) to finish it in a feasible time. However, it is hard to guarantee that the optimal architecture derived on the proxy task could maintain its advantages on another more challenging dataset. This paper aims to improve the generalization of neural architectures via domain adaptation. We analyze the generalization bounds of the derived architecture and suggest its close relations with the validation error and the data distribution distance on both domains. These theoretical analyses lead to AdaptNAS, a novel and principled approach to adapt neural architectures between domains in NAS. Our experimental evaluation shows that only a small part of ImageNet will be sufficient for AdaptNAS to extend its architecture success to the entire ImageNet and outperform state-of-the-art comparison algorithms.

Requirements

This project is developed and tested under the following environment:

  • python>=3.7.5
  • pytorch>=1.3.1
  • torchvision>=0.4.2

Instruction

Search

Seach code will be available soon.

Retrain

To retrain the searched architecture on the ImageNet, execute the following command:

python train_imagenet.py \
    --arch arch_AdaptNAS \
    --batch_size 512 \
    --learning_rate 0.25 \
    --auxiliary \
    --epochs 250 \
    --num_workers 48

We use four Tesla V100 GPUs for retraining. If you use a different number of GPUs, the bach_size and learning_rate should be adjusted correspondingly.

Citation

@inproceedings{li2020adapting,
    title={Adapting Neural Architectures Between Domains},
    author={Li, Yanxi and Yang, Zhaohui and Wang, Yunhe and Xu, Chang},
    booktitle={Advances in Neural Information Processing Systems},
    year={2020}
}

adaptnas's People

Contributors

liyxi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

shuowang-ai

adaptnas's Issues

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.