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

Simplify package dependencies by removing unnecessary imports

NeoChaos12 opened this issue · comments

I currently use NASLib as a backend for defining my own search space for a benchmark. I noticed while sharing my code that the following imports introduce a number of dependencies that are not strictly necessary in use cases where only a subset of all the search spaces defined by NASLib are to be used. Auto-importing these search spaces enforces the constraint that the dependencies of each and every search space must be satisfied in order to use any single one of the search spaces. Is this truly necessary? For reference, I am currently using only the NASBench-201 search space.

from .simple_cell.graph import SimpleCellSearchSpace
from .darts.graph import DartsSearchSpace
from .nasbench101.graph import NasBench101SearchSpace
from .nasbench201.graph import NasBench201SearchSpace
from .nasbenchnlp.graph import NasBenchNLPSearchSpace
from .nasbenchasr.graph import NasBenchASRSearchSpace
from .hierarchical.graph import HierarchicalSearchSpace
from .transbench101.graph import TransBench101SearchSpace
from .transbench101.api import TransNASBenchAPI

Great issue. Have you had any success removing the packages and running without excess dependencies?