From fb936a0b3061c4ce71cf3a3cae75e292c4fddfb1 Mon Sep 17 00:00:00 2001 From: yiliu30 Date: Mon, 5 Dec 2022 10:03:07 +0800 Subject: [PATCH 1/2] adjust hints for import error Signed-off-by: yiliu30 --- neural_compressor/contrib/strategy/sigopt.py | 8 +++++++- neural_compressor/contrib/strategy/tpe.py | 8 +++++++- test/requirements.txt | 2 -- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/neural_compressor/contrib/strategy/sigopt.py b/neural_compressor/contrib/strategy/sigopt.py index 19b3ae1ed3e..4b2f18e6c35 100644 --- a/neural_compressor/contrib/strategy/sigopt.py +++ b/neural_compressor/contrib/strategy/sigopt.py @@ -88,7 +88,13 @@ def __init__(self, model, conf, q_dataloader, q_func=None, try: import sigopt except ImportError: - ImportError(f"Please install sigopt for using {strategy_name} strategy.") + try: + import subprocess + import sys + subprocess.check_call([sys.executable, "-m", "pip", "install", "sigopt"]) + import sigopt + except: + assert False, "Unable to import sigopt from the local environment." else: pass # SigOpt init diff --git a/neural_compressor/contrib/strategy/tpe.py b/neural_compressor/contrib/strategy/tpe.py index 39362f1749b..b60a2a01338 100644 --- a/neural_compressor/contrib/strategy/tpe.py +++ b/neural_compressor/contrib/strategy/tpe.py @@ -91,7 +91,13 @@ def __init__(self, model, conf, q_dataloader, q_func=None, try: import hyperopt except ImportError: - raise ImportError(f"Please install hyperopt for using {strategy_name} strategy.") + try: + import subprocess + import sys + subprocess.check_call([sys.executable, "-m", "pip", "install", "hyperopt"]) + import hyperopt + except: + assert False, "Unable to import hyperopt from the local environment." else: pass self.hpopt_search_space = None diff --git a/test/requirements.txt b/test/requirements.txt index 30712c4bafb..32535567cc6 100644 --- a/test/requirements.txt +++ b/test/requirements.txt @@ -13,8 +13,6 @@ pillow>=8.2.0 transformers<=4.12.3; python_version < '3.10' transformers==4.16.0; python_version == '3.10' tensorflow_model_optimization -sigopt -hyperopt horovod tensorflow-addons onnxruntime-extensions; python_version < '3.10' From 5707d4b1366b2caf236b10db0e6a3a83cad47ef7 Mon Sep 17 00:00:00 2001 From: yiliu30 Date: Mon, 5 Dec 2022 12:36:00 +0800 Subject: [PATCH 2/2] disable pylint import check Signed-off-by: yiliu30 --- neural_compressor/contrib/strategy/sigopt.py | 2 +- neural_compressor/contrib/strategy/tpe.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/neural_compressor/contrib/strategy/sigopt.py b/neural_compressor/contrib/strategy/sigopt.py index 4b2f18e6c35..f599b11344b 100644 --- a/neural_compressor/contrib/strategy/sigopt.py +++ b/neural_compressor/contrib/strategy/sigopt.py @@ -92,7 +92,7 @@ def __init__(self, model, conf, q_dataloader, q_func=None, import subprocess import sys subprocess.check_call([sys.executable, "-m", "pip", "install", "sigopt"]) - import sigopt + import sigopt # pylint: disable=import-error except: assert False, "Unable to import sigopt from the local environment." else: diff --git a/neural_compressor/contrib/strategy/tpe.py b/neural_compressor/contrib/strategy/tpe.py index b60a2a01338..8be11b6d819 100644 --- a/neural_compressor/contrib/strategy/tpe.py +++ b/neural_compressor/contrib/strategy/tpe.py @@ -95,7 +95,7 @@ def __init__(self, model, conf, q_dataloader, q_func=None, import subprocess import sys subprocess.check_call([sys.executable, "-m", "pip", "install", "hyperopt"]) - import hyperopt + import hyperopt # pylint: disable=import-error except: assert False, "Unable to import hyperopt from the local environment." else: