diff --git a/graph_dit/naswot/pycls/core/__init__.py b/graph_dit/naswot/naswot/__init__.py similarity index 100% rename from graph_dit/naswot/pycls/core/__init__.py rename to graph_dit/naswot/naswot/__init__.py diff --git a/graph_dit/naswot/config_utils/__init__.py b/graph_dit/naswot/naswot/config_utils/__init__.py similarity index 100% rename from graph_dit/naswot/config_utils/__init__.py rename to graph_dit/naswot/naswot/config_utils/__init__.py diff --git a/graph_dit/naswot/config_utils/attention_args.py b/graph_dit/naswot/naswot/config_utils/attention_args.py similarity index 100% rename from graph_dit/naswot/config_utils/attention_args.py rename to graph_dit/naswot/naswot/config_utils/attention_args.py diff --git a/graph_dit/naswot/config_utils/basic_args.py b/graph_dit/naswot/naswot/config_utils/basic_args.py similarity index 100% rename from graph_dit/naswot/config_utils/basic_args.py rename to graph_dit/naswot/naswot/config_utils/basic_args.py diff --git a/graph_dit/naswot/config_utils/cifar-split.txt b/graph_dit/naswot/naswot/config_utils/cifar-split.txt similarity index 100% rename from graph_dit/naswot/config_utils/cifar-split.txt rename to graph_dit/naswot/naswot/config_utils/cifar-split.txt diff --git a/graph_dit/naswot/config_utils/cls_init_args.py b/graph_dit/naswot/naswot/config_utils/cls_init_args.py similarity index 100% rename from graph_dit/naswot/config_utils/cls_init_args.py rename to graph_dit/naswot/naswot/config_utils/cls_init_args.py diff --git a/graph_dit/naswot/config_utils/cls_kd_args.py b/graph_dit/naswot/naswot/config_utils/cls_kd_args.py similarity index 100% rename from graph_dit/naswot/config_utils/cls_kd_args.py rename to graph_dit/naswot/naswot/config_utils/cls_kd_args.py diff --git a/graph_dit/naswot/config_utils/configure_utils.py b/graph_dit/naswot/naswot/config_utils/configure_utils.py similarity index 100% rename from graph_dit/naswot/config_utils/configure_utils.py rename to graph_dit/naswot/naswot/config_utils/configure_utils.py diff --git a/graph_dit/naswot/config_utils/pruning_args.py b/graph_dit/naswot/naswot/config_utils/pruning_args.py similarity index 100% rename from graph_dit/naswot/config_utils/pruning_args.py rename to graph_dit/naswot/naswot/config_utils/pruning_args.py diff --git a/graph_dit/naswot/config_utils/random_baseline.py b/graph_dit/naswot/naswot/config_utils/random_baseline.py similarity index 100% rename from graph_dit/naswot/config_utils/random_baseline.py rename to graph_dit/naswot/naswot/config_utils/random_baseline.py diff --git a/graph_dit/naswot/config_utils/search_args.py b/graph_dit/naswot/naswot/config_utils/search_args.py similarity index 100% rename from graph_dit/naswot/config_utils/search_args.py rename to graph_dit/naswot/naswot/config_utils/search_args.py diff --git a/graph_dit/naswot/config_utils/search_single_args.py b/graph_dit/naswot/naswot/config_utils/search_single_args.py similarity index 100% rename from graph_dit/naswot/config_utils/search_single_args.py rename to graph_dit/naswot/naswot/config_utils/search_single_args.py diff --git a/graph_dit/naswot/config_utils/share_args.py b/graph_dit/naswot/naswot/config_utils/share_args.py similarity index 100% rename from graph_dit/naswot/config_utils/share_args.py rename to graph_dit/naswot/naswot/config_utils/share_args.py diff --git a/graph_dit/naswot/datasets/DownsampledImageNet.py b/graph_dit/naswot/naswot/datasets/DownsampledImageNet.py similarity index 100% rename from graph_dit/naswot/datasets/DownsampledImageNet.py rename to graph_dit/naswot/naswot/datasets/DownsampledImageNet.py diff --git a/graph_dit/naswot/datasets/LandmarkDataset.py b/graph_dit/naswot/naswot/datasets/LandmarkDataset.py similarity index 100% rename from graph_dit/naswot/datasets/LandmarkDataset.py rename to graph_dit/naswot/naswot/datasets/LandmarkDataset.py diff --git a/graph_dit/naswot/datasets/SearchDatasetWrap.py b/graph_dit/naswot/naswot/datasets/SearchDatasetWrap.py similarity index 100% rename from graph_dit/naswot/datasets/SearchDatasetWrap.py rename to graph_dit/naswot/naswot/datasets/SearchDatasetWrap.py diff --git a/graph_dit/naswot/datasets/__init__.py b/graph_dit/naswot/naswot/datasets/__init__.py similarity index 100% rename from graph_dit/naswot/datasets/__init__.py rename to graph_dit/naswot/naswot/datasets/__init__.py diff --git a/graph_dit/naswot/datasets/data.py b/graph_dit/naswot/naswot/datasets/data.py similarity index 100% rename from graph_dit/naswot/datasets/data.py rename to graph_dit/naswot/naswot/datasets/data.py diff --git a/graph_dit/naswot/datasets/get_dataset_with_transform.py b/graph_dit/naswot/naswot/datasets/get_dataset_with_transform.py similarity index 100% rename from graph_dit/naswot/datasets/get_dataset_with_transform.py rename to graph_dit/naswot/naswot/datasets/get_dataset_with_transform.py diff --git a/graph_dit/naswot/datasets/landmark_utils/__init__.py b/graph_dit/naswot/naswot/datasets/landmark_utils/__init__.py similarity index 100% rename from graph_dit/naswot/datasets/landmark_utils/__init__.py rename to graph_dit/naswot/naswot/datasets/landmark_utils/__init__.py diff --git a/graph_dit/naswot/datasets/landmark_utils/point_meta.py b/graph_dit/naswot/naswot/datasets/landmark_utils/point_meta.py similarity index 100% rename from graph_dit/naswot/datasets/landmark_utils/point_meta.py rename to graph_dit/naswot/naswot/datasets/landmark_utils/point_meta.py diff --git a/graph_dit/naswot/datasets/test_utils.py b/graph_dit/naswot/naswot/datasets/test_utils.py similarity index 100% rename from graph_dit/naswot/datasets/test_utils.py rename to graph_dit/naswot/naswot/datasets/test_utils.py diff --git a/graph_dit/naswot/models/CifarDenseNet.py b/graph_dit/naswot/naswot/models/CifarDenseNet.py similarity index 100% rename from graph_dit/naswot/models/CifarDenseNet.py rename to graph_dit/naswot/naswot/models/CifarDenseNet.py diff --git a/graph_dit/naswot/models/CifarResNet.py b/graph_dit/naswot/naswot/models/CifarResNet.py similarity index 100% rename from graph_dit/naswot/models/CifarResNet.py rename to graph_dit/naswot/naswot/models/CifarResNet.py diff --git a/graph_dit/naswot/models/CifarWideResNet.py b/graph_dit/naswot/naswot/models/CifarWideResNet.py similarity index 100% rename from graph_dit/naswot/models/CifarWideResNet.py rename to graph_dit/naswot/naswot/models/CifarWideResNet.py diff --git a/graph_dit/naswot/models/ImageNet_MobileNetV2.py b/graph_dit/naswot/naswot/models/ImageNet_MobileNetV2.py similarity index 100% rename from graph_dit/naswot/models/ImageNet_MobileNetV2.py rename to graph_dit/naswot/naswot/models/ImageNet_MobileNetV2.py diff --git a/graph_dit/naswot/models/ImageNet_ResNet.py b/graph_dit/naswot/naswot/models/ImageNet_ResNet.py similarity index 100% rename from graph_dit/naswot/models/ImageNet_ResNet.py rename to graph_dit/naswot/naswot/models/ImageNet_ResNet.py diff --git a/graph_dit/naswot/models/SharedUtils.py b/graph_dit/naswot/naswot/models/SharedUtils.py similarity index 100% rename from graph_dit/naswot/models/SharedUtils.py rename to graph_dit/naswot/naswot/models/SharedUtils.py diff --git a/graph_dit/naswot/models/__init__.py b/graph_dit/naswot/naswot/models/__init__.py similarity index 99% rename from graph_dit/naswot/models/__init__.py rename to graph_dit/naswot/naswot/models/__init__.py index b17934d..d68e6df 100644 --- a/graph_dit/naswot/models/__init__.py +++ b/graph_dit/naswot/naswot/models/__init__.py @@ -11,7 +11,7 @@ __all__ = ['change_key', 'get_cell_based_tiny_net', 'get_search_spaces', 'get_ci ] # useful modules -from config_utils import dict2config +from naswot.config_utils import dict2config from .SharedUtils import change_key from .cell_searchs import CellStructure, CellArchitectures diff --git a/graph_dit/naswot/models/cell_infers/__init__.py b/graph_dit/naswot/naswot/models/cell_infers/__init__.py similarity index 100% rename from graph_dit/naswot/models/cell_infers/__init__.py rename to graph_dit/naswot/naswot/models/cell_infers/__init__.py diff --git a/graph_dit/naswot/models/cell_infers/cells.py b/graph_dit/naswot/naswot/models/cell_infers/cells.py similarity index 100% rename from graph_dit/naswot/models/cell_infers/cells.py rename to graph_dit/naswot/naswot/models/cell_infers/cells.py diff --git a/graph_dit/naswot/models/cell_infers/nasnet_cifar.py b/graph_dit/naswot/naswot/models/cell_infers/nasnet_cifar.py similarity index 100% rename from graph_dit/naswot/models/cell_infers/nasnet_cifar.py rename to graph_dit/naswot/naswot/models/cell_infers/nasnet_cifar.py diff --git a/graph_dit/naswot/models/cell_infers/tiny_network.py b/graph_dit/naswot/naswot/models/cell_infers/tiny_network.py similarity index 100% rename from graph_dit/naswot/models/cell_infers/tiny_network.py rename to graph_dit/naswot/naswot/models/cell_infers/tiny_network.py diff --git a/graph_dit/naswot/models/cell_operations.py b/graph_dit/naswot/naswot/models/cell_operations.py similarity index 100% rename from graph_dit/naswot/models/cell_operations.py rename to graph_dit/naswot/naswot/models/cell_operations.py diff --git a/graph_dit/naswot/models/cell_searchs/__init__.py b/graph_dit/naswot/naswot/models/cell_searchs/__init__.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/__init__.py rename to graph_dit/naswot/naswot/models/cell_searchs/__init__.py diff --git a/graph_dit/naswot/models/cell_searchs/_test_module.py b/graph_dit/naswot/naswot/models/cell_searchs/_test_module.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/_test_module.py rename to graph_dit/naswot/naswot/models/cell_searchs/_test_module.py diff --git a/graph_dit/naswot/models/cell_searchs/genotypes.py b/graph_dit/naswot/naswot/models/cell_searchs/genotypes.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/genotypes.py rename to graph_dit/naswot/naswot/models/cell_searchs/genotypes.py diff --git a/graph_dit/naswot/models/cell_searchs/search_cells.py b/graph_dit/naswot/naswot/models/cell_searchs/search_cells.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_cells.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_cells.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_darts.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_darts.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_darts.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_darts.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_darts_nasnet.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_darts_nasnet.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_darts_nasnet.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_darts_nasnet.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_enas.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_enas.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_enas.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_enas.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_enas_utils.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_enas_utils.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_enas_utils.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_enas_utils.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_gdas.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_gdas.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_gdas.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_gdas.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_gdas_nasnet.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_gdas_nasnet.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_gdas_nasnet.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_gdas_nasnet.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_random.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_random.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_random.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_random.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_setn.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_setn.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_setn.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_setn.py diff --git a/graph_dit/naswot/models/cell_searchs/search_model_setn_nasnet.py b/graph_dit/naswot/naswot/models/cell_searchs/search_model_setn_nasnet.py similarity index 100% rename from graph_dit/naswot/models/cell_searchs/search_model_setn_nasnet.py rename to graph_dit/naswot/naswot/models/cell_searchs/search_model_setn_nasnet.py diff --git a/graph_dit/naswot/models/clone_weights.py b/graph_dit/naswot/naswot/models/clone_weights.py similarity index 100% rename from graph_dit/naswot/models/clone_weights.py rename to graph_dit/naswot/naswot/models/clone_weights.py diff --git a/graph_dit/naswot/models/initialization.py b/graph_dit/naswot/naswot/models/initialization.py similarity index 100% rename from graph_dit/naswot/models/initialization.py rename to graph_dit/naswot/naswot/models/initialization.py diff --git a/graph_dit/naswot/models/shape_infers/InferCifarResNet.py b/graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferCifarResNet.py rename to graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet.py diff --git a/graph_dit/naswot/models/shape_infers/InferCifarResNet_depth.py b/graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet_depth.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferCifarResNet_depth.py rename to graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet_depth.py diff --git a/graph_dit/naswot/models/shape_infers/InferCifarResNet_width.py b/graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet_width.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferCifarResNet_width.py rename to graph_dit/naswot/naswot/models/shape_infers/InferCifarResNet_width.py diff --git a/graph_dit/naswot/models/shape_infers/InferImagenetResNet.py b/graph_dit/naswot/naswot/models/shape_infers/InferImagenetResNet.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferImagenetResNet.py rename to graph_dit/naswot/naswot/models/shape_infers/InferImagenetResNet.py diff --git a/graph_dit/naswot/models/shape_infers/InferMobileNetV2.py b/graph_dit/naswot/naswot/models/shape_infers/InferMobileNetV2.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferMobileNetV2.py rename to graph_dit/naswot/naswot/models/shape_infers/InferMobileNetV2.py diff --git a/graph_dit/naswot/models/shape_infers/InferTinyCellNet.py b/graph_dit/naswot/naswot/models/shape_infers/InferTinyCellNet.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/InferTinyCellNet.py rename to graph_dit/naswot/naswot/models/shape_infers/InferTinyCellNet.py diff --git a/graph_dit/naswot/models/shape_infers/__init__.py b/graph_dit/naswot/naswot/models/shape_infers/__init__.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/__init__.py rename to graph_dit/naswot/naswot/models/shape_infers/__init__.py diff --git a/graph_dit/naswot/models/shape_infers/shared_utils.py b/graph_dit/naswot/naswot/models/shape_infers/shared_utils.py similarity index 100% rename from graph_dit/naswot/models/shape_infers/shared_utils.py rename to graph_dit/naswot/naswot/models/shape_infers/shared_utils.py diff --git a/graph_dit/naswot/models/shape_searchs/SearchCifarResNet.py b/graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SearchCifarResNet.py rename to graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet.py diff --git a/graph_dit/naswot/models/shape_searchs/SearchCifarResNet_depth.py b/graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet_depth.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SearchCifarResNet_depth.py rename to graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet_depth.py diff --git a/graph_dit/naswot/models/shape_searchs/SearchCifarResNet_width.py b/graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet_width.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SearchCifarResNet_width.py rename to graph_dit/naswot/naswot/models/shape_searchs/SearchCifarResNet_width.py diff --git a/graph_dit/naswot/models/shape_searchs/SearchImagenetResNet.py b/graph_dit/naswot/naswot/models/shape_searchs/SearchImagenetResNet.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SearchImagenetResNet.py rename to graph_dit/naswot/naswot/models/shape_searchs/SearchImagenetResNet.py diff --git a/graph_dit/naswot/models/shape_searchs/SearchSimResNet_width.py b/graph_dit/naswot/naswot/models/shape_searchs/SearchSimResNet_width.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SearchSimResNet_width.py rename to graph_dit/naswot/naswot/models/shape_searchs/SearchSimResNet_width.py diff --git a/graph_dit/naswot/models/shape_searchs/SoftSelect.py b/graph_dit/naswot/naswot/models/shape_searchs/SoftSelect.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/SoftSelect.py rename to graph_dit/naswot/naswot/models/shape_searchs/SoftSelect.py diff --git a/graph_dit/naswot/models/shape_searchs/__init__.py b/graph_dit/naswot/naswot/models/shape_searchs/__init__.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/__init__.py rename to graph_dit/naswot/naswot/models/shape_searchs/__init__.py diff --git a/graph_dit/naswot/models/shape_searchs/test.py b/graph_dit/naswot/naswot/models/shape_searchs/test.py similarity index 100% rename from graph_dit/naswot/models/shape_searchs/test.py rename to graph_dit/naswot/naswot/models/shape_searchs/test.py diff --git a/graph_dit/naswot/nas_101_api/__init__.py b/graph_dit/naswot/naswot/nas_101_api/__init__.py similarity index 100% rename from graph_dit/naswot/nas_101_api/__init__.py rename to graph_dit/naswot/naswot/nas_101_api/__init__.py diff --git a/graph_dit/naswot/nas_101_api/base_ops.py b/graph_dit/naswot/naswot/nas_101_api/base_ops.py similarity index 100% rename from graph_dit/naswot/nas_101_api/base_ops.py rename to graph_dit/naswot/naswot/nas_101_api/base_ops.py diff --git a/graph_dit/naswot/nas_101_api/graph_util.py b/graph_dit/naswot/naswot/nas_101_api/graph_util.py similarity index 100% rename from graph_dit/naswot/nas_101_api/graph_util.py rename to graph_dit/naswot/naswot/nas_101_api/graph_util.py diff --git a/graph_dit/naswot/nas_101_api/model.py b/graph_dit/naswot/naswot/nas_101_api/model.py similarity index 100% rename from graph_dit/naswot/nas_101_api/model.py rename to graph_dit/naswot/naswot/nas_101_api/model.py diff --git a/graph_dit/naswot/nas_101_api/model_spec.py b/graph_dit/naswot/naswot/nas_101_api/model_spec.py similarity index 100% rename from graph_dit/naswot/nas_101_api/model_spec.py rename to graph_dit/naswot/naswot/nas_101_api/model_spec.py diff --git a/graph_dit/naswot/nasspace.py b/graph_dit/naswot/naswot/nasspace.py similarity index 97% rename from graph_dit/naswot/nasspace.py rename to graph_dit/naswot/naswot/nasspace.py index 2dd029a..3fac411 100644 --- a/graph_dit/naswot/nasspace.py +++ b/graph_dit/naswot/naswot/nasspace.py @@ -1,16 +1,16 @@ -from models import get_cell_based_tiny_net, get_search_spaces +from naswot.models import get_cell_based_tiny_net, get_search_spaces from nas_201_api import NASBench201API as API from nasbench import api as nasbench101api -from nas_101_api.model import Network -from nas_101_api.model_spec import ModelSpec +from naswot.nas_101_api.model import Network +from naswot.nas_101_api.model_spec import ModelSpec import itertools import random import numpy as np -from models.cell_searchs.genotypes import Structure +from naswot.models.cell_searchs.genotypes import Structure from copy import deepcopy -from pycls.models.nas.nas import NetworkImageNet, NetworkCIFAR -from pycls.models.anynet import AnyNet -from pycls.models.nas.genotypes import GENOTYPES, Genotype +from naswot.pycls.models.nas.nas import NetworkImageNet, NetworkCIFAR +from naswot.pycls.models.anynet import AnyNet +from naswot.pycls.models.nas.genotypes import GENOTYPES, Genotype import json import torch @@ -26,6 +26,7 @@ class Nasbench201: print(config) config['num_classes'] = 1 network = get_cell_based_tiny_net(config) + print(network) return network def __iter__(self): for uid in range(len(self)): diff --git a/graph_dit/naswot/pycls/models/__init__.py b/graph_dit/naswot/naswot/pycls/__init__.py similarity index 100% rename from graph_dit/naswot/pycls/models/__init__.py rename to graph_dit/naswot/naswot/pycls/__init__.py diff --git a/graph_dit/naswot/naswot/pycls/core/__init__.py b/graph_dit/naswot/naswot/pycls/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/graph_dit/naswot/pycls/core/benchmark.py b/graph_dit/naswot/naswot/pycls/core/benchmark.py similarity index 100% rename from graph_dit/naswot/pycls/core/benchmark.py rename to graph_dit/naswot/naswot/pycls/core/benchmark.py diff --git a/graph_dit/naswot/pycls/core/builders.py b/graph_dit/naswot/naswot/pycls/core/builders.py similarity index 100% rename from graph_dit/naswot/pycls/core/builders.py rename to graph_dit/naswot/naswot/pycls/core/builders.py diff --git a/graph_dit/naswot/pycls/core/checkpoint.py b/graph_dit/naswot/naswot/pycls/core/checkpoint.py similarity index 100% rename from graph_dit/naswot/pycls/core/checkpoint.py rename to graph_dit/naswot/naswot/pycls/core/checkpoint.py diff --git a/graph_dit/naswot/pycls/core/config.py b/graph_dit/naswot/naswot/pycls/core/config.py similarity index 100% rename from graph_dit/naswot/pycls/core/config.py rename to graph_dit/naswot/naswot/pycls/core/config.py diff --git a/graph_dit/naswot/pycls/core/distributed.py b/graph_dit/naswot/naswot/pycls/core/distributed.py similarity index 100% rename from graph_dit/naswot/pycls/core/distributed.py rename to graph_dit/naswot/naswot/pycls/core/distributed.py diff --git a/graph_dit/naswot/pycls/core/io.py b/graph_dit/naswot/naswot/pycls/core/io.py similarity index 100% rename from graph_dit/naswot/pycls/core/io.py rename to graph_dit/naswot/naswot/pycls/core/io.py diff --git a/graph_dit/naswot/pycls/core/logging.py b/graph_dit/naswot/naswot/pycls/core/logging.py similarity index 100% rename from graph_dit/naswot/pycls/core/logging.py rename to graph_dit/naswot/naswot/pycls/core/logging.py diff --git a/graph_dit/naswot/pycls/core/meters.py b/graph_dit/naswot/naswot/pycls/core/meters.py similarity index 100% rename from graph_dit/naswot/pycls/core/meters.py rename to graph_dit/naswot/naswot/pycls/core/meters.py diff --git a/graph_dit/naswot/pycls/core/net.py b/graph_dit/naswot/naswot/pycls/core/net.py similarity index 100% rename from graph_dit/naswot/pycls/core/net.py rename to graph_dit/naswot/naswot/pycls/core/net.py diff --git a/graph_dit/naswot/pycls/core/optimizer.py b/graph_dit/naswot/naswot/pycls/core/optimizer.py similarity index 100% rename from graph_dit/naswot/pycls/core/optimizer.py rename to graph_dit/naswot/naswot/pycls/core/optimizer.py diff --git a/graph_dit/naswot/pycls/core/plotting.py b/graph_dit/naswot/naswot/pycls/core/plotting.py similarity index 100% rename from graph_dit/naswot/pycls/core/plotting.py rename to graph_dit/naswot/naswot/pycls/core/plotting.py diff --git a/graph_dit/naswot/pycls/core/timer.py b/graph_dit/naswot/naswot/pycls/core/timer.py similarity index 100% rename from graph_dit/naswot/pycls/core/timer.py rename to graph_dit/naswot/naswot/pycls/core/timer.py diff --git a/graph_dit/naswot/pycls/core/trainer.py b/graph_dit/naswot/naswot/pycls/core/trainer.py similarity index 100% rename from graph_dit/naswot/pycls/core/trainer.py rename to graph_dit/naswot/naswot/pycls/core/trainer.py diff --git a/graph_dit/naswot/naswot/pycls/models/__init__.py b/graph_dit/naswot/naswot/pycls/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/graph_dit/naswot/pycls/models/anynet.py b/graph_dit/naswot/naswot/pycls/models/anynet.py similarity index 100% rename from graph_dit/naswot/pycls/models/anynet.py rename to graph_dit/naswot/naswot/pycls/models/anynet.py diff --git a/graph_dit/naswot/pycls/models/common.py b/graph_dit/naswot/naswot/pycls/models/common.py similarity index 100% rename from graph_dit/naswot/pycls/models/common.py rename to graph_dit/naswot/naswot/pycls/models/common.py diff --git a/graph_dit/naswot/pycls/models/effnet.py b/graph_dit/naswot/naswot/pycls/models/effnet.py similarity index 100% rename from graph_dit/naswot/pycls/models/effnet.py rename to graph_dit/naswot/naswot/pycls/models/effnet.py diff --git a/graph_dit/naswot/naswot/pycls/models/nas/__init__.py b/graph_dit/naswot/naswot/pycls/models/nas/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/graph_dit/naswot/pycls/models/nas/genotypes.py b/graph_dit/naswot/naswot/pycls/models/nas/genotypes.py similarity index 100% rename from graph_dit/naswot/pycls/models/nas/genotypes.py rename to graph_dit/naswot/naswot/pycls/models/nas/genotypes.py diff --git a/graph_dit/naswot/pycls/models/nas/nas.py b/graph_dit/naswot/naswot/pycls/models/nas/nas.py similarity index 100% rename from graph_dit/naswot/pycls/models/nas/nas.py rename to graph_dit/naswot/naswot/pycls/models/nas/nas.py diff --git a/graph_dit/naswot/pycls/models/nas/operations.py b/graph_dit/naswot/naswot/pycls/models/nas/operations.py similarity index 100% rename from graph_dit/naswot/pycls/models/nas/operations.py rename to graph_dit/naswot/naswot/pycls/models/nas/operations.py diff --git a/graph_dit/naswot/pycls/models/regnet.py b/graph_dit/naswot/naswot/pycls/models/regnet.py similarity index 100% rename from graph_dit/naswot/pycls/models/regnet.py rename to graph_dit/naswot/naswot/pycls/models/regnet.py diff --git a/graph_dit/naswot/pycls/models/resnet.py b/graph_dit/naswot/naswot/pycls/models/resnet.py similarity index 100% rename from graph_dit/naswot/pycls/models/resnet.py rename to graph_dit/naswot/naswot/pycls/models/resnet.py diff --git a/graph_dit/naswot/results/naswot_accs_nasbench201_cifar10_True.npy b/graph_dit/naswot/naswot/results/naswot_accs_nasbench201_cifar10_True.npy similarity index 100% rename from graph_dit/naswot/results/naswot_accs_nasbench201_cifar10_True.npy rename to graph_dit/naswot/naswot/results/naswot_accs_nasbench201_cifar10_True.npy diff --git a/graph_dit/naswot/results/naswot_hook_logdet_nasbench201_cifar10__none_0.05_1_True_128_1_1.npy b/graph_dit/naswot/naswot/results/naswot_hook_logdet_nasbench201_cifar10__none_0.05_1_True_128_1_1.npy similarity index 100% rename from graph_dit/naswot/results/naswot_hook_logdet_nasbench201_cifar10__none_0.05_1_True_128_1_1.npy rename to graph_dit/naswot/naswot/results/naswot_hook_logdet_nasbench201_cifar10__none_0.05_1_True_128_1_1.npy diff --git a/graph_dit/naswot/score_networks.py b/graph_dit/naswot/naswot/score_networks.py similarity index 77% rename from graph_dit/naswot/score_networks.py rename to graph_dit/naswot/naswot/score_networks.py index 90552c9..3e39ae5 100644 --- a/graph_dit/naswot/score_networks.py +++ b/graph_dit/naswot/naswot/score_networks.py @@ -1,16 +1,16 @@ import argparse -import nasspace +from naswot import nasspace import datasets import random import numpy as np import torch import os -from scores import get_score_func +from naswot.scores import get_score_func from scipy import stats import time # from pycls.models.nas.nas import Cell -from models import get_cell_based_tiny_net -from utils import add_dropout, init_network +from naswot.models import get_cell_based_tiny_net +from naswot.utils import add_dropout, init_network parser = argparse.ArgumentParser(description='NAS Without Training') parser.add_argument('--data_loc', default='../cifardata/', type=str, help='dataset folder') @@ -57,11 +57,95 @@ def get_batch_jacobian(net, x, target, device, args=None): jacob = x.grad.detach() return jacob, target.detach(), y.detach(), out.detach() -def get_nasbench201_nodes_score(nodes, train_loader, searchspace, args, device): +def get_config_by_nodes(nodes): num_to_op = ['input', 'nor_conv_1x1', 'nor_conv_3x3', 'avg_pool_3x3', 'skip_connect', 'none', 'output'] + arch_str = '|' + num_to_op[nodes[1]] + '~0|+|' + \ + num_to_op[nodes[2]] + '~0|' + num_to_op[nodes[3]] + '~1|+|' + \ + num_to_op[nodes[4]] + '~0|' + num_to_op[nodes[5]] + '~1|' + num_to_op[nodes[6]] + '~2|' + config = { + 'name': 'infer.tiny', + 'C': 16, + 'N': 5, + 'arch_str': arch_str, + 'num_classes': 10, + } + return config + + +def get_nasbench201_nodes_score(nodes, train_loader, searchspace, args, device): + assert len(nodes) == 8 + network = get_cell_based_tiny_net(get_config_by_nodes(nodes)) + try: + if args.dropout: + add_dropout(network, args.sigma) + if args.init != '': + init_network(network, args.init) + if 'hook_' in args.score: + network.K = np.zeros((args.batch_size, args.batch_size)) + def counting_forward_hook(module, inp, out): + try: + if not module.visited_backwards: + return + if isinstance(inp, tuple): + # print(len(inp)) + inp = inp[0] + inp = inp.view(inp.size(0), -1) + x = (inp > 0).float() + K = x @ x.t() + K2 = (1.-x) @ (1.-x.t()) + network.K = network.K + K.cpu().numpy() + K2.cpu().numpy() + except: + pass + + + def counting_backward_hook(module, inp, out): + module.visited_backwards = True + + + for name, module in network.named_modules(): + if 'ReLU' in str(type(module)): + #hooks[name] = module.register_forward_hook(counting_hook) + module.register_forward_hook(counting_forward_hook) + module.register_backward_hook(counting_backward_hook) + + network = network.to(device) + random.seed(args.seed) + np.random.seed(args.seed) + torch.manual_seed(args.seed) + s = [] + for j in range(args.maxofn): + data_iterator = iter(train_loader) + x, target = next(data_iterator) + x2 = torch.clone(x) + x2 = x2.to(device) + x, target = x.to(device), target.to(device) + jacobs, labels, y, out = get_batch_jacobian(network, x, target, device, args) + + + if 'hook_' in args.score: + network(x2.to(device)) + s.append(get_score_func(args.score)(network.K, target)) + else: + s.append(get_score_func(args.score)(jacobs, labels)) + return np.mean(s) + scores[i] = np.mean(s) + accs[i] = searchspace.get_final_accuracy(uid, acc_type, args.trainval) + accs_ = accs[~np.isnan(scores)] + scores_ = scores[~np.isnan(scores)] + numnan = np.isnan(scores).sum() + tau, p = stats.kendalltau(accs_[:max(i-numnan, 1)], scores_[:max(i-numnan, 1)]) + print(f'{tau}') + if i % 1000 == 0: + np.save(filename, scores) + np.save(accfilename, accs) + except Exception as e: + print(e) + print('final result') + return np.nan + def get_nasbench201_idx_score(idx, train_loader, searchspace, args, device): # device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # searchspace = nasspace.get_search_space(args) @@ -181,12 +265,19 @@ if 'valid' in args.dataset: args.dataset = args.dataset.replace('-valid', '') print('start to get search space') start_time = time.time() +print(get_config_by_nodes(nodes=[0,2,2,3,4,2,4,6])) +end_time = time.time() +start_time = time.time() searchspace = nasspace.get_search_space(args) end_time = time.time() print(f'search space time: {end_time - start_time}') train_loader = datasets.get_data(args.dataset, args.data_loc, args.trainval, args.batch_size, args.augtype, args.repeat, args) print('start to get score') print('5374') +num_to_op = ['input', 'nor_conv_1x1', 'nor_conv_3x3', 'avg_pool_3x3', 'skip_connect', 'none', 'output'] +start_time = time.time() +print(get_nasbench201_nodes_score(nodes=[0,2,2,3,4,2,4,6],train_loader=train_loader, searchspace=searchspace, args=args, device=torch.device("cuda:0" if torch.cuda.is_available() else "cpu"))) +end_time = time.time() start_time = time.time() print(get_nasbench201_idx_score(5374,train_loader=train_loader, searchspace=searchspace, args=args, device=torch.device("cuda:0" if torch.cuda.is_available() else "cpu"))) end_time = time.time() diff --git a/graph_dit/naswot/scores.py b/graph_dit/naswot/naswot/scores.py similarity index 100% rename from graph_dit/naswot/scores.py rename to graph_dit/naswot/naswot/scores.py diff --git a/graph_dit/naswot/utils.py b/graph_dit/naswot/naswot/utils.py similarity index 100% rename from graph_dit/naswot/utils.py rename to graph_dit/naswot/naswot/utils.py diff --git a/graph_dit/naswot/setup.py b/graph_dit/naswot/setup.py new file mode 100644 index 0000000..11f7e8b --- /dev/null +++ b/graph_dit/naswot/setup.py @@ -0,0 +1,7 @@ +from setuptools import setup, find_packages + +setup( + name='naswot', + version='0.1', + packages=find_packages() +) \ No newline at end of file