Browse Source

[MNT] del all dependency

tags/v0.3.2
bxdd 2 years ago
parent
commit
5037e5a3e0
14 changed files with 135 additions and 39 deletions
  1. +7
    -2
      learnware/__init__.py
  2. +14
    -2
      learnware/market/easy/__init__.py
  3. +19
    -6
      learnware/reuse/__init__.py
  4. +23
    -0
      learnware/reuse/utils.py
  5. +9
    -1
      learnware/specification/__init__.py
  6. +3
    -1
      learnware/specification/regular/__init__.py
  7. +12
    -1
      learnware/specification/regular/image/__init__.py
  8. +12
    -0
      learnware/specification/regular/image/utils.py
  9. +11
    -1
      learnware/specification/regular/table/__init__.py
  10. +12
    -1
      learnware/specification/regular/text/__init__.py
  11. +12
    -0
      learnware/specification/regular/text/utils.py
  12. +1
    -1
      learnware/utils/__init__.py
  13. +0
    -20
      learnware/utils/import_utils.py
  14. +0
    -3
      setup.py

+ 7
- 2
learnware/__init__.py View File

@@ -2,6 +2,9 @@ __version__ = "0.1.1.99"


import os import os
from .logger import get_module_logger from .logger import get_module_logger
from .utils import is_torch_avaliable

logger = get_module_logger("Initialization")




def init(make_dir: bool = False, tf_loglevel: str = "2", **kwargs): def init(make_dir: bool = False, tf_loglevel: str = "2", **kwargs):
@@ -10,9 +13,7 @@ def init(make_dir: bool = False, tf_loglevel: str = "2", **kwargs):
C.reset() C.reset()
C.update(**kwargs) C.update(**kwargs)


logger = get_module_logger("Initialization")
logger.info(f"init learnware market with {kwargs}") logger.info(f"init learnware market with {kwargs}")

## make dirs ## make dirs
if make_dir: if make_dir:
os.makedirs(C.root_path, exist_ok=True) os.makedirs(C.root_path, exist_ok=True)
@@ -25,3 +26,7 @@ def init(make_dir: bool = False, tf_loglevel: str = "2", **kwargs):
## ignore tensorflow warning ## ignore tensorflow warning
# os.environ["TF_CPP_MIN_LOG_LEVEL"] = tf_loglevel # os.environ["TF_CPP_MIN_LOG_LEVEL"] = tf_loglevel
# logger.info(f"The tensorflow log level is setted to {tf_loglevel}") # logger.info(f"The tensorflow log level is setted to {tf_loglevel}")


if not is_torch_avaliable(verbose=True):
logger.warning("The functionality of learnware is limited due to 'torch' is not installed!")

+ 14
- 2
learnware/market/easy/__init__.py View File

@@ -1,3 +1,15 @@
from .organizer import EasyOrganizer from .organizer import EasyOrganizer
from .searcher import EasySearcher
from .checker import EasySemanticChecker, EasyStatChecker

from ...utils import is_torch_avaliable
from ...logger import get_module_logger

logger = get_module_logger("market_easy")

if not is_torch_avaliable(verbose=False):
from .searcher import EasySearcher
from .checker import EasySemanticChecker, EasyStatChecker
else:
EasySearcher = None
EasySemanticChecker = None
EasyStatChecker = None
logger.warning("EasySeacher and EasyChecker are skipped because 'torch' is not installed!")

+ 19
- 6
learnware/reuse/__init__.py View File

@@ -1,10 +1,23 @@
from .averaging import AveragingReuser
from .job_selector import JobSelectorReuser
from ..logger import get_module_logger
from ..utils import is_torch_avaliable
from .utils import is_geatpy_avaliable, is_lightgbm_avaliable


logger = get_module_logger("reuse")


from ..utils.import_utils import is_geatpy_avaliable

if is_geatpy_avaliable(verbose=True):
if not is_geatpy_avaliable(verbose=True):
EnsemblePruningReuser = None
logger.warning("EnsemblePruningReuser is skipped due to 'geatpy' is not installed!")
else:
from .ensemble_pruning import EnsemblePruningReuser from .ensemble_pruning import EnsemblePruningReuser

if not is_torch_avaliable(verbose=False):
AveragingReuser = None
logger.warning("AveragingReuser is skipped due to 'torch' is not installed!")
else: else:
EnsemblePruningReuser = None
from .averaging import AveragingReuser

if not is_lightgbm_avaliable(verbose=True) or not is_torch_avaliable(verbose=False):
JobSelectorReuser = None
logger.warning("JobSelectorReuser is skipped due to 'torch' is not installed!")
else:
from .job_selector import JobSelectorReuser

+ 23
- 0
learnware/reuse/utils.py View File

@@ -0,0 +1,23 @@
from ..logger import get_module_logger

logger = get_module_logger("reuse_utils")


def is_geatpy_avaliable():
try:
import geatpy
except ModuleNotFoundError as err:
logger.warning(
"ModuleNotFoundError: geatpy is not installed, please install geatpy (only support python version<3.11)!"
)
return False
return True


def is_lightgbm_avaliable():
try:
import lightgbm
except ModuleNotFoundError as err:
logger.warning("ModuleNotFoundError: lightgbm is not installed, please install lightgbm!")
return False
return True

+ 9
- 1
learnware/specification/__init__.py View File

@@ -1,4 +1,3 @@
from .module import generate_stat_spec, generate_rkme_spec, generate_rkme_image_spec, generate_rkme_text_spec
from .base import Specification, BaseStatSpecification from .base import Specification, BaseStatSpecification
from .regular import ( from .regular import (
RegularStatsSpecification, RegularStatsSpecification,
@@ -7,3 +6,12 @@ from .regular import (
RKMEImageSpecification, RKMEImageSpecification,
RKMETextSpecification, RKMETextSpecification,
) )
from ..utils import is_torch_avaliable

if not is_torch_avaliable(verbose=False):
generate_stat_spec = None
generate_rkme_spec = None
generate_rkme_image_spec = None
generate_rkme_text_spec = None
else:
from .module import generate_stat_spec, generate_rkme_spec, generate_rkme_image_spec, generate_rkme_text_spec

+ 3
- 1
learnware/specification/regular/__init__.py View File

@@ -1,4 +1,6 @@
from .base import RegularStatsSpecification
from ...utils import is_torch_avaliable

from .text import RKMETextSpecification from .text import RKMETextSpecification
from .table import RKMETableSpecification, RKMEStatSpecification from .table import RKMETableSpecification, RKMEStatSpecification
from .image import RKMEImageSpecification from .image import RKMEImageSpecification
from .base import RegularStatsSpecification

+ 12
- 1
learnware/specification/regular/image/__init__.py View File

@@ -1 +1,12 @@
from .rkme import RKMEImageSpecification
from .utils import is_torch_optimizer_avaliable
from ....utils import is_torch_avaliable
from ....logger import get_module_logger


logger = get_module_logger("regular_image_spec")

if not is_torch_optimizer_avaliable(verbose=True) or not is_torch_avaliable(verbose=False):
RKMEImageSpecification = None
logger.warning("RKMEImageSpecification is skipped because torch or torch-optimizer is not installed!")
else:
from .rkme import RKMEImageSpecification

+ 12
- 0
learnware/specification/regular/image/utils.py View File

@@ -0,0 +1,12 @@
from ....logger import get_module_logger

logger = get_module_logger("regular_image_spec_utils")


def is_torch_optimizer_avaliable():
try:
import torch_optimizer
except ModuleNotFoundError as err:
logger.warning("ModuleNotFoundError: torch_optimizer is not installed, please install pytorch!")
return False
return True

+ 11
- 1
learnware/specification/regular/table/__init__.py View File

@@ -1 +1,11 @@
from .rkme import RKMETableSpecification, RKMEStatSpecification
from ....utils import is_torch_avaliable
from ....logger import get_module_logger

logger = get_module_logger("regular_table_spec")

if not is_torch_avaliable(verbose=False):
RKMETableSpecification = None
RKMEStatSpecification = None
logger.warning("RKMETableSpecification is skipped because torch is not installed!")
else:
from .rkme import RKMETableSpecification, RKMEStatSpecification

+ 12
- 1
learnware/specification/regular/text/__init__.py View File

@@ -1 +1,12 @@
from .rkme import RKMETextSpecification
from .utils import is_sentence_transformers_avaliable

from ....utils import is_torch_avaliable
from ....logger import get_module_logger

logger = get_module_logger("regular_table_spec")

if not is_sentence_transformers_avaliable(verbose=True) or not is_torch_avaliable(verbose=False):
RKMETextSpecification = None
logger.warning("RKMETextSpecification is skipped because torch is not installed!")
else:
from .rkme import RKMETextSpecification

+ 12
- 0
learnware/specification/regular/text/utils.py View File

@@ -0,0 +1,12 @@
from ....logger import get_module_logger

logger = get_module_logger("regular_text_spec_utils")


def is_sentence_transformers_avaliable():
try:
import sentence_transformers
except ModuleNotFoundError as err:
logger.warning("ModuleNotFoundError: sentence_transformers is not installed, please install pytorch!")
return False
return True

+ 1
- 1
learnware/utils/__init__.py View File

@@ -1,7 +1,7 @@
import os import os
import zipfile import zipfile


from .import_utils import is_torch_avaliable, is_lightgbm_avaliable, is_geatpy_avaliable
from .import_utils import is_torch_avaliable
from .module import get_module_by_module_path from .module import get_module_by_module_path
from .file import read_yaml_to_dict, save_dict_to_yaml from .file import read_yaml_to_dict, save_dict_to_yaml




+ 0
- 20
learnware/utils/import_utils.py View File

@@ -10,23 +10,3 @@ def is_torch_avaliable():
logger.warning("ModuleNotFoundError: torch is not installed, please install pytorch!") logger.warning("ModuleNotFoundError: torch is not installed, please install pytorch!")
return False return False
return True return True


def is_lightgbm_avaliable():
try:
import lightgbm
except ModuleNotFoundError as err:
logger.warning("ModuleNotFoundError: lightgbm is not installed, please install lightgbm!")
return False
return True


def is_geatpy_avaliable():
try:
import geatpy
except ModuleNotFoundError as err:
logger.warning(
"ModuleNotFoundError: geatpy is not installed, please install geatpy (only support python version<3.11)!"
)
return False
return True

+ 0
- 3
setup.py View File

@@ -54,7 +54,6 @@ REQUIRED = [
"numpy>=1.20.0", "numpy>=1.20.0",
"pandas>=0.25.1", "pandas>=0.25.1",
"scipy>=1.0.0", "scipy>=1.0.0",
"torch>=1.11.0",
"cvxopt>=1.3.0", "cvxopt>=1.3.0",
"tqdm>=4.65.0", "tqdm>=4.65.0",
"scikit-learn>=0.22", "scikit-learn>=0.22",
@@ -68,8 +67,6 @@ REQUIRED = [
"shortuuid>=1.0.11", "shortuuid>=1.0.11",
"docker>=6.1.3", "docker>=6.1.3",
"rapidfuzz>=3.4.0", "rapidfuzz>=3.4.0",
"sentence_transformers>=2.2.2",
"torch-optimizer>=0.3.0",
"langdetect>=1.0.9", "langdetect>=1.0.9",
"huggingface-hub<0.18", "huggingface-hub<0.18",
"portalocker>=2.0.0", "portalocker>=2.0.0",


Loading…
Cancel
Save