From 795da4f7d374bc42cc40ae9363ec4ed346be9be7 Mon Sep 17 00:00:00 2001 From: bxdd Date: Fri, 24 Nov 2023 00:09:54 +0800 Subject: [PATCH] [MNT] change torch warning into error --- learnware/market/anchor/__init__.py | 2 +- learnware/market/easy/__init__.py | 2 +- learnware/reuse/__init__.py | 10 ++++---- .../specification/regular/image/__init__.py | 21 ++--------------- learnware/specification/regular/image/rkme.py | 7 ++++-- .../specification/regular/image/utils.py | 23 ------------------- .../specification/regular/table/__init__.py | 17 +++----------- .../specification/regular/text/__init__.py | 20 ++-------------- learnware/specification/system/__init__.py | 2 +- 9 files changed, 21 insertions(+), 83 deletions(-) delete mode 100644 learnware/specification/regular/image/utils.py diff --git a/learnware/market/anchor/__init__.py b/learnware/market/anchor/__init__.py index d1b8392..3721830 100644 --- a/learnware/market/anchor/__init__.py +++ b/learnware/market/anchor/__init__.py @@ -8,6 +8,6 @@ logger = get_module_logger("market_anchor") if not is_torch_available(verbose=False): AnchoredSearcher = None - logger.warning("AnchoredSearcher is skipped because 'torch' is not installed!") + logger.error("AnchoredSearcher is skipped because 'torch' is not installed!") else: from .searcher import AnchoredSearcher diff --git a/learnware/market/easy/__init__.py b/learnware/market/easy/__init__.py index 7495ee5..156e34c 100644 --- a/learnware/market/easy/__init__.py +++ b/learnware/market/easy/__init__.py @@ -9,7 +9,7 @@ if not is_torch_available(verbose=False): EasySearcher = None EasySemanticChecker = None EasyStatChecker = None - logger.warning("EasySeacher and EasyChecker are skipped because 'torch' is not installed!") + logger.error("EasySeacher and EasyChecker are skipped because 'torch' is not installed!") else: from .searcher import EasySearcher, EasyStatSearcher, EasyFuzzSemanticSearcher, EasyExactSemanticSearcher from .checker import EasySemanticChecker, EasyStatChecker diff --git a/learnware/reuse/__init__.py b/learnware/reuse/__init__.py index f379429..048d6a9 100644 --- a/learnware/reuse/__init__.py +++ b/learnware/reuse/__init__.py @@ -18,13 +18,15 @@ if not is_torch_available(verbose=False): FeatureAugmentReuser = None HeteroMapAlignLearnware = None FeatureAlignLearnware = None - logger.warning( - "[AveragingReuser, FeatureAugmentReuser, HeteroMapAlignLearnware, FeatureAlignLearnware] is skipped due to 'torch' is not installed!" + JobSelectorReuser = None + logger.error( + "[AveragingReuser, FeatureAugmentReuser, HeteroMapAlignLearnware, FeatureAlignLearnware, JobSelectorReuser] is skipped due to 'torch' is not installed!" ) else: from .averaging import AveragingReuser from .feature_augment import FeatureAugmentReuser from .hetero import HeteroMapAlignLearnware, FeatureAlignLearnware + from .job_selector import JobSelectorReuser if not is_lightgbm_available(verbose=False) or not is_torch_available(verbose=False): JobSelectorReuser = None @@ -39,6 +41,6 @@ if not is_lightgbm_available(verbose=False) or not is_torch_available(verbose=Fa ) if flag is False ] - logger.warning(f"JobSelectorReuser is skipped due to {uninstall_packages} is not installed!") + logger.error(f"JobSelectorReuser is skipped due to {uninstall_packages} is not installed!") else: - from .job_selector import JobSelectorReuser + diff --git a/learnware/specification/regular/image/__init__.py b/learnware/specification/regular/image/__init__.py index 224d875..1f9e427 100644 --- a/learnware/specification/regular/image/__init__.py +++ b/learnware/specification/regular/image/__init__.py @@ -5,25 +5,8 @@ from ....logger import get_module_logger logger = get_module_logger("regular_image_spec") -if ( - not is_torchvision_available(verbose=False) - or not is_torch_optimizer_available(verbose=False) - or not is_torch_available(verbose=False) -): +if not is_torch_available(verbose=False): RKMEImageSpecification = None - uninstall_packages = [ - value - for flag, value in zip( - [ - is_torchvision_available(verbose=False), - is_torch_optimizer_available(verbose=False), - is_torch_available(verbose=False), - ], - ["torchvision", "torch-optimizer", "torch"], - ) - if flag is False - ] - - logger.warning(f"RKMEImageSpecification is skipped because {uninstall_packages} is not installed!") + logger.error(f"RKMEImageSpecification is skipped because 'torch' is not installed!") else: from .rkme import RKMEImageSpecification diff --git a/learnware/specification/regular/image/rkme.py b/learnware/specification/regular/image/rkme.py index e65f23d..b32c1b8 100644 --- a/learnware/specification/regular/image/rkme.py +++ b/learnware/specification/regular/image/rkme.py @@ -13,7 +13,6 @@ import torch import torch_optimizer from torch import nn from torch.utils.data import TensorDataset, DataLoader -from torchvision.transforms import Resize from tqdm import tqdm from . import cnn_gp @@ -126,7 +125,11 @@ class RKMEImageSpecification(RegularStatSpecification): raise ValueError(f"All values in image {i} are exceptional, e.g., NaN and Inf.") img_mean = torch.nanmean(img) X[i] = torch.where(is_nan, img_mean, img) - + try: + from torchvision.transforms import Resize + except ModuleNotFoundError: + raise ModuleNotFoundError(f"RKMEImageSpecification is not available because 'torchvision' is not installed!") + if X.shape[2] != RKMEImageSpecification.IMAGE_WIDTH or X.shape[3] != RKMEImageSpecification.IMAGE_WIDTH: X = Resize((RKMEImageSpecification.IMAGE_WIDTH, RKMEImageSpecification.IMAGE_WIDTH), antialias=None)(X) diff --git a/learnware/specification/regular/image/utils.py b/learnware/specification/regular/image/utils.py deleted file mode 100644 index cd60d96..0000000 --- a/learnware/specification/regular/image/utils.py +++ /dev/null @@ -1,23 +0,0 @@ -from ....logger import get_module_logger - -logger = get_module_logger("regular_image_spec_utils") - - -def is_torch_optimizer_available(verbose=False): - try: - import torch_optimizer - except ModuleNotFoundError as err: - if verbose is True: - logger.warning("ModuleNotFoundError: torch_optimizer is not installed, please install torch_optimizer!") - return False - return True - - -def is_torchvision_available(verbose=False): - try: - import torchvision - except ModuleNotFoundError as err: - if verbose is True: - logger.warning("ModuleNotFoundError: torchvision is not installed, please install torchvision!") - return False - return True diff --git a/learnware/specification/regular/table/__init__.py b/learnware/specification/regular/table/__init__.py index a380ea3..78f8ea7 100644 --- a/learnware/specification/regular/table/__init__.py +++ b/learnware/specification/regular/table/__init__.py @@ -5,23 +5,12 @@ from ....logger import get_module_logger logger = get_module_logger("regular_table_spec") -if not is_torch_available(verbose=False) or not is_fast_pytorch_kmeans_available(verbose=False): +if not is_torch_available(verbose=False): RKMETableSpecification = None RKMEStatSpecification = None rkme_solve_qp = None - uninstall_packages = [ - value - for flag, value in zip( - [ - is_torch_available(verbose=False), - is_fast_pytorch_kmeans_available(verbose=False), - ], - ["torch", "fast_pytorch_kmeans"], - ) - if flag is False - ] - logger.warning( - f"RKMETableSpecification, RKMEStatSpecification and rkme_solve_qp are skipped because {uninstall_packages} is not installed!" + logger.error( + f"RKMETableSpecification, RKMEStatSpecification and rkme_solve_qp are skipped because 'torch' is not installed!" ) else: from .rkme import RKMETableSpecification, RKMEStatSpecification, rkme_solve_qp diff --git a/learnware/specification/regular/text/__init__.py b/learnware/specification/regular/text/__init__.py index eda4208..6e5c4c8 100644 --- a/learnware/specification/regular/text/__init__.py +++ b/learnware/specification/regular/text/__init__.py @@ -6,24 +6,8 @@ from ....logger import get_module_logger logger = get_module_logger("regular_text_spec") -if ( - not is_sentence_transformers_available(verbose=False) - or not is_torch_available(verbose=False) - or not is_fast_pytorch_kmeans_available(verbose=False) -): +if not is_torch_available(verbose=False): RKMETextSpecification = None - uninstall_packages = [ - value - for flag, value in zip( - [ - is_sentence_transformers_available(verbose=False), - is_torch_available(verbose=False), - is_fast_pytorch_kmeans_available(verbose=False), - ], - ["sentence_transformers", "torch", "fast_pytorch_kmeans"], - ) - if flag is False - ] - logger.warning(f"RKMETextSpecification is skipped because {uninstall_packages} is not installed!") + logger.warning(f"RKMETextSpecification is skipped because 'torch' is not installed!") else: from .rkme import RKMETextSpecification diff --git a/learnware/specification/system/__init__.py b/learnware/specification/system/__init__.py index 82fbe3f..e839e29 100644 --- a/learnware/specification/system/__init__.py +++ b/learnware/specification/system/__init__.py @@ -6,6 +6,6 @@ logger = get_module_logger("system_spec") if not is_torch_available(verbose=False): HeteroMapTableSpecification = None - logger.warning("HeteroMapTableSpecification is skipped because torch is not installed!") + logger.error("HeteroMapTableSpecification is skipped because torch is not installed!") else: from .hetero_table import HeteroMapTableSpecification