set joblib loky serialization to pickle; we don't need cloudpickle

This commit is contained in:
hroff-1902 2019-04-16 11:05:54 +03:00
parent 7a2c060653
commit ae6f540b25

View File

@ -19,6 +19,7 @@ from typing import Any, Dict, List
from joblib import Parallel, delayed, dump, load, wrap_non_picklable_objects from joblib import Parallel, delayed, dump, load, wrap_non_picklable_objects
from joblib._parallel_backends import LokyBackend from joblib._parallel_backends import LokyBackend
from joblib import register_parallel_backend, parallel_backend from joblib import register_parallel_backend, parallel_backend
from joblib.externals.loky import set_loky_pickler
from pandas import DataFrame from pandas import DataFrame
from skopt import Optimizer from skopt import Optimizer
from skopt.space import Dimension from skopt.space import Dimension
@ -261,9 +262,7 @@ class Hyperopt(Backtesting):
) )
def run_optimizer_parallel(self, parallel, tries: int, first_try: int) -> List: def run_optimizer_parallel(self, parallel, tries: int, first_try: int) -> List:
result = parallel(delayed( result = parallel(delayed(self.parallel_objective)(asked, i) for asked, i in
wrap_non_picklable_objects(self.parallel_objective))
(asked, i) for asked, i in
zip(self.opt_generator(), range(first_try, first_try + tries))) zip(self.opt_generator(), range(first_try, first_try + tries)))
return result return result
@ -315,6 +314,7 @@ class Hyperopt(Backtesting):
cpus = multiprocessing.cpu_count() cpus = multiprocessing.cpu_count()
logger.info(f'Found {cpus} CPU cores. Let\'s make them scream!') logger.info(f'Found {cpus} CPU cores. Let\'s make them scream!')
set_loky_pickler('pickle')
self.opt = self.get_optimizer(cpus) self.opt = self.get_optimizer(cpus)
frames = ((self.total_tries - 1) // EVALS_FRAME) frames = ((self.total_tries - 1) // EVALS_FRAME)