Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

integrate c-darts nas algorithm #1955

Merged
merged 22 commits into from
Jan 16, 2020
Merged

integrate c-darts nas algorithm #1955

merged 22 commits into from
Jan 16, 2020

Conversation

penghouwen
Copy link
Contributor

No description provided.

README.md Outdated Show resolved Hide resolved

## Introduction
CDARTS builds a cyclic feedback mechanism between the search and evaluation networks. First, the search network generates an initial topology for evaluation, so that the weights of the evaluation network can be optimized. Second, the architecture topology in the search network is further optimized by the label supervision in classification, as well as the regularization from the evaluation network through feature distillation. Repeating the above cycle results in a joint optimization of the search and evaluation networks, and thus enables the evolution of the topology to fit the final evaluation network.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pr looks great to me. Only one comment: please introduce cdarts trainer and cdarts mutators here. For example, parameters of cdarts trainer (here is an example of darts, this is its rendering), the difference of the cdarts mutators.

from nni.nas.pytorch.mutator import Mutator # pylint: disable=wrong-import-order


class RegularizedDartsMutator(DartsMutator):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would be great if you add docstring for these mutators.

@@ -0,0 +1,110 @@
# Cyclic Differentiable Architecture Search
This is CDARTS based on the NNI platform, which currently supports CIFAR10 search and retrain. ImageNet search and retrain should also be supported, and we provide corresponding interfaces. Our reproduced results on NNI are slightly lower than the paper, but much higher than the original DARTS.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

" Our reproduced results on NNI are slightly lower than the paper", I wonder why.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@penghouwen Can you elaborate?


## Search and Retrain
### Search
* Main python file is ${ROOT}/search.py
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where is ${ROOT}, seems don't mention before?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't see this file. Are you commenting on an old commit?

examples/nas/cdarts/aux_head.py Show resolved Hide resolved
examples/nas/cdarts/datasets/data_utils.py Outdated Show resolved Hide resolved
examples/nas/cdarts/datasets/data_utils.py Outdated Show resolved Hide resolved
examples/nas/cdarts/datasets/data_utils.py Outdated Show resolved Hide resolved
examples/nas/cdarts/ops.py Show resolved Hide resolved
examples/nas/cdarts/ops.py Outdated Show resolved Hide resolved
@ultmaster
Copy link
Contributor

DON'T MERGE. Still pending review from @xuehui1991 .

@ultmaster ultmaster merged commit 13d0375 into microsoft:master Jan 16, 2020
@marsggbo
Copy link
Contributor

Can anyone provide the paper related to CDARTS? I can't find any details about this method。

@QuanluZhang
Copy link
Contributor

cc @penghouwen

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants