Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

Add a parallel algorithm for TPE and related research blog #1081

Closed
wants to merge 7 commits into from

Conversation

PurityFan
Copy link
Contributor

docs/en_US/Blog/ParallelizingSequentialSearch.md Outdated Show resolved Hide resolved
@@ -190,7 +190,7 @@ class HyperoptTuner(Tuner):
HyperoptTuner is a tuner which using hyperopt algorithm.
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you give me a comparison between this PR and the current method in our example?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear, compare what?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

compare with the current TPE version in NNI.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PurityFan cannot access PAI anymore, @Crysple will compare the performance.

src/sdk/pynni/nni/hyperopt_tuner/hyperopt_tuner.py Outdated Show resolved Hide resolved
docs/en_US/BuiltinTuner.md Show resolved Hide resolved
@@ -374,8 +401,18 @@ def get_suggestion(self, random_search=False):
total_params : dict
parameter suggestion
"""

rval = self.rval
if self.parallel == True and len(self.running_data):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest changing "if self.parallel and len(self.runing_data)" to avoid pylint warning.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree


rval = self.rval
if self.parallel == True and len(self.running_data):
self.CL_rval = copy.deepcopy(self.rval)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every time we copy a "self.rval" to "self.CL_rval". Shall we need to consider the memory recycle here?

@@ -204,7 +204,12 @@ def __init__(self, algorithm_name, optimize_mode='minimize'):
self.json = None
self.total_data = {}
self.rval = None
self.CL_rval = None
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the "CL" means? What's the "self.CL_rval" represent?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Constant Liar

'classArgs': {
Optional('optimize_mode'): setChoice('optimize_mode', 'maximize', 'minimize'),
Optional('parallel_optimize'): setType('parallel_optimize', bool),
Optional('constant_liar_type'): setChoice('min', 'max', 'mean')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is inconsistent with your API in the config file

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, the name should also be the first arg of setChoice

@leckie-chn leckie-chn modified the milestone: June 2019 Release Jun 21, 2019
@QuanluZhang
Copy link
Contributor

QuanluZhang commented Jul 30, 2019

closed, this pr is replaced with another pr #1373

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants