Skip to content

Commit

Permalink
FIX pickling issue
Browse files Browse the repository at this point in the history
  • Loading branch information
mfeurer committed Nov 23, 2016
1 parent e74f84e commit bb12e84
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 28 deletions.
52 changes: 26 additions & 26 deletions autosklearn/automl.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ def _fit(self, datamanager):
if time_left_for_smac <= 0:
self._logger.warning("Not starting SMAC because there is no time "
"left.")
self._proc_smac = None
_proc_smac = None
else:
if self._per_run_time_limit is None or \
self._per_run_time_limit > time_left_for_smac:
Expand All @@ -380,25 +380,25 @@ def _fit(self, datamanager):
else:
per_run_time_limit = self._per_run_time_limit

self._proc_smac = AutoMLSMBO(config_space=self.configuration_space,
dataset_name=self._dataset_name,
backend=self._backend,
total_walltime_limit=time_left_for_smac,
func_eval_time_limit=per_run_time_limit,
memory_limit=self._ml_memory_limit,
data_memory_limit=self._data_memory_limit,
watcher=self._stopwatch,
start_num_run=num_run,
num_metalearning_cfgs=self._initial_configurations_via_metalearning,
config_file=configspace_path,
smac_iters=self._max_iter_smac,
seed=self._seed,
metadata_directory=self._metadata_directory,
resampling_strategy=self._resampling_strategy,
resampling_strategy_args=self._resampling_strategy_arguments,
acquisition_function=self.acquisition_function,
shared_mode=self._shared_mode)
self._proc_smac.run_smbo()
_proc_smac = AutoMLSMBO(config_space=self.configuration_space,
dataset_name=self._dataset_name,
backend=self._backend,
total_walltime_limit=time_left_for_smac,
func_eval_time_limit=per_run_time_limit,
memory_limit=self._ml_memory_limit,
data_memory_limit=self._data_memory_limit,
watcher=self._stopwatch,
start_num_run=num_run,
num_metalearning_cfgs=self._initial_configurations_via_metalearning,
config_file=configspace_path,
smac_iters=self._max_iter_smac,
seed=self._seed,
metadata_directory=self._metadata_directory,
resampling_strategy=self._resampling_strategy,
resampling_strategy_args=self._resampling_strategy_arguments,
acquisition_function=self.acquisition_function,
shared_mode=self._shared_mode)
self.runhistory_ = _proc_smac.run_smbo()

self._proc_ensemble = None
self._load_models()
Expand Down Expand Up @@ -569,8 +569,8 @@ def grid_scores_(self):
scores_per_config = defaultdict(list)
config_list = list()

for run_key in self._proc_smac.runhistory.data:
run_value = self._proc_smac.runhistory.data[run_key]
for run_key in self.runhistory_.data:
run_value = self.runhistory_.data[run_key]

config_id = run_key.config_id
cost = run_value.cost
Expand All @@ -583,7 +583,7 @@ def grid_scores_(self):
for config_id in config_list:
scores = [1 - score for score in scores_per_config[config_id]]
mean_score = np.mean(scores)
config = self._proc_smac.runhistory.ids_config[config_id]
config = self.runhistory_.ids_config[config_id]

grid_score = _CVScoreTuple(config.get_dictionary(), mean_score,
scores)
Expand Down Expand Up @@ -624,10 +624,10 @@ def cv_results_(self):
mean_fit_time = []
params = []
status = []
for run_key in self._proc_smac.runhistory.data:
run_value = self._proc_smac.runhistory.data[run_key]
for run_key in self.runhistory_.data:
run_value = self.runhistory_.data[run_key]
config_id = run_key.config_id
config = self._proc_smac.runhistory.ids_config[config_id]
config = self.runhistory_.ids_config[config_id]

param_dict = config.get_dictionary()
params.append(param_dict)
Expand Down
1 change: 1 addition & 0 deletions autosklearn/smbo.py
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,7 @@ def run_smbo(self, max_iters=1000):
break

self.runhistory = smac.solver.runhistory
return runhistory

def choose_next(self, smac):
challengers = []
Expand Down
4 changes: 2 additions & 2 deletions test/test_automl/test_estimators.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ def test_grid_scores(self):
ensemble_size=0)
cls_ = cls.build_automl()
automl = cls_._automl
automl._proc_smac = unittest.mock.MagicMock()
automl.runhistory_ = unittest.mock.MagicMock()

RunKey = collections.namedtuple(
'RunKey', ['config_id', 'instance_id', 'seed'])
Expand All @@ -189,7 +189,7 @@ def test_grid_scores(self):

runhistory = dict()
runhistory[RunKey(1, 1, 1)] = RunValue(1, 1, 1, '')
automl._proc_smac.runhistory.data = runhistory
automl.runhistory_.data = runhistory
grid_scores_ = automl.grid_scores_

self.assertIsInstance(grid_scores_[0], _CVScoreTuple)
Expand Down

0 comments on commit bb12e84

Please sign in to comment.