automl/NASLib

Simplify package dependencies by removing unnecessary imports

Opened this issue · 1 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?