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

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

## make dirs
if make_dir:
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
# os.environ["TF_CPP_MIN_LOG_LEVEL"] = 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 .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

if not is_torch_avaliable(verbose=False):
AveragingReuser = None
logger.warning("AveragingReuser is skipped due to 'torch' is not installed!")
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 .regular import (
RegularStatsSpecification,
@@ -7,3 +6,12 @@ from .regular import (
RKMEImageSpecification,
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 .table import RKMETableSpecification, RKMEStatSpecification
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 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 .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!")
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


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


Loading…
Cancel
Save