[hotfix] Lint formatting for new Tune optimizer ZOOpt (#8040)

* formatting

* removedill

* lint
This commit is contained in:
Richard Liaw 2020-04-16 09:24:30 -07:00 committed by GitHub
parent d4cae5f632
commit 4d8bf5635d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 12 deletions

View file

@ -32,7 +32,8 @@ MOCK_MODULES = [
"tensorflow.contrib.rnn", "tensorflow.contrib.slim", "tensorflow.core",
"tensorflow.core.util", "tensorflow.python", "tensorflow.python.client",
"tensorflow.python.util", "torch", "torch.distributed", "torch.nn",
"torch.nn.parallel", "torch.utils.data", "torch.utils.data.distributed"
"torch.nn.parallel", "torch.utils.data", "torch.utils.data.distributed",
"zoopt"
]
for mod_name in MOCK_MODULES:
sys.modules[mod_name] = mock.Mock()

View file

@ -48,6 +48,11 @@ SkOptSearch
.. autoclass:: ray.tune.suggest.skopt.SkOptSearch
ZOOptSearch
-----------
.. autoclass:: ray.tune.suggest.zoopt.ZOOptSearch
SearchAlgorithm
---------------

View file

@ -28,4 +28,3 @@ torch
torchvision
xgboost
zoopt>=0.4.0
dill

View file

@ -1,8 +1,7 @@
"""This test checks that ZOOpt is functional.
"""This test checks that ZOOptSearch is functional.
It also checks that it is usable with a separate scheduler.
"""
import ray
from ray.tune import run
from ray.tune.suggest.zoopt import ZOOptSearch
@ -39,7 +38,7 @@ if __name__ == "__main__":
}
config = {
"num_samples": 200 if args.smoke_test else 1000,
"num_samples": 10 if args.smoke_test else 1000,
"config": {
"iterations": 10, # evaluation times
},

View file

@ -1,8 +1,12 @@
import copy
import logging
import dill as pickle
from zoopt import Dimension2, Parameter
from zoopt.algos.opt_algorithms.racos.sracos import SRacosTune
import ray.cloudpickle as pickle
try:
import zoopt
except ImportError:
zoopt = None
from ray.tune.suggest.suggestion import SuggestionAlgorithm
logger = logging.getLogger(__name__)
@ -76,7 +80,7 @@ class ZOOptSearch(SuggestionAlgorithm):
metric="episode_reward_mean",
mode="min",
**kwargs):
assert zoopt is not None, "Zoopt not found - please install zoopt."
assert budget is not None, "`budget` should not be None!"
assert dim_dict is not None, "`dim_list` should not be None!"
assert type(max_concurrent) is int and max_concurrent > 0
@ -99,9 +103,10 @@ class ZOOptSearch(SuggestionAlgorithm):
self._dim_keys.append(k)
_dim_list.append(dim_dict[k])
dim = Dimension2(_dim_list)
par = Parameter(budget=budget)
dim = zoopt.Dimension2(_dim_list)
par = zoopt.Parameter(budget=budget)
if _algo == "sracos" or _algo == "asracos":
from zoopt.algos.opt_algorithms.racos.sracos import SRacosTune
self.optimizer = SRacosTune(dimension=dim, parameter=par)
self.solution_dict = {}

View file

@ -7,6 +7,7 @@ import skopt
import numpy as np
from hyperopt import hp
from nevergrad.optimization import optimizerlib
from zoopt import ValueType
import ray
from ray import tune
@ -18,7 +19,6 @@ from ray.tune.suggest.skopt import SkOptSearch
from ray.tune.suggest.nevergrad import NevergradSearch
from ray.tune.suggest.sigopt import SigOptSearch
from ray.tune.suggest.zoopt import ZOOptSearch
from zoopt import ValueType
from ray.tune.utils import validate_save_restore