automl / NASLib

NASLib is a Neural Architecture Search (NAS) library for facilitating NAS research for the community by providing interfaces to several state-of-the-art NAS search spaces and optimizers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Randomly sample architectures/cell from Search Spaces

geantrindade opened this issue · comments

I am trying, without success, sampling random architectures from the defined Search Spaces such as DARTS and SimpleCell spaces.

Is it possible to sample an entire PyTorch object representing the whole architecture? If not, is it possible to sample all the possible cells from the search spaces? Can you provide some code examples for doing this?

Thanks.

Nothing yet?

Hi, thank you for your interest. Many of the search spaces in NASLib have a sample_random_architecture() method, for example, the one for darts is here, and an example on how to use it is in the random search NAS algorithm here. Currently SimpleCell does not have this method.

Thank you @crwhite14 ! I was able to sample some random genotypes from DARTS already, but I was wondering if it is possible to customize the search space, maybe using simpleCell or DARTS to create other popular NAS spaces such as ProxylessNAS, NASNet, ENAS, etc. Is that possible? Do you have any examples to show me? Thank you so much for the support you are giving me.

Currently NASLib focuses on queryable benchmarks such as NAS-Bench-101/201/301/NLP/ASR, to make NAS research easier. You are free to write your own customized search space. For each search space, the architectures are created in the __init__ method of the graph.py file. For example, for DARTS it is lines 83-192 here.