-
Notifications
You must be signed in to change notification settings - Fork 8
Evolutionary Docs
Selects the best elite_size
results according to fitness()
from
the current experiment. Uniformly samples one of them as a parent, and
perturbs it using the experiment's samplers.
Note that in order to change parent, you should call experiment sample_parent()
Parameters:
- experiment - (Experiment) experiment to wrap.
- elite_size - (int) number of results to consider as parents.
- fitness - (function) function to determine fitness of result.
Return type: n/a
Example:
experiment = Experiment('name', params={'lr': Gaussian()})
evo = Evolutionary(experiment)
evo.sample_parent()
evo.sample_all_params()
evo.add_result(loss(evo.params))
def add_result(self, result, data=None, attachment=None)
Generates a randomly sampled value for all specified parameters
Parameters:
- result - (float) value for the current set of hyperparameters.
- data - (dict) additional logging data.
- attachment - (dict) attachment data excluded from JSON summary.
Return type: n/a
Example:
e.add_result(loss)
def all(self)
Alias for Experiment.all_results()
Example:
e.all()
def all_results(self)
Iterates through all previous results in no specific order
Parameters: n/a
Return type: iterator
Example:
for res in e.all_results():
print(res.result)
print(res.params)
def count(self)
Returns the number of JSON summaries.
Parameters: n/a
Return type: int
Example:
e.count()
def list(self)
Returns a SummaryList of all results.
Parameters: n/a
Return type: SummaryList
Example:
summaries = exp.list()
summaries.filter(lambda x: x.result > 0.1)
def maximum(self)
Returns the maximum result from saved results.
Parameters: n/a
Return type: float
Example:
e.maximum()
def minimum(self)
Returns the minimum result from saved results.
Parameters: n/a
Return type: float
Example:
e.minimum()
def sample(self, key)
Generates a randomly sampled value for given parameter, which is a sampled perturbation plus the value of the current parent.
Parameters:
- key - name of randomly sampled parameter
Return type: (float) Value of randomly generated value for specified sampler
Example:
e.sample('iterations')
def sample_all_params(self)
Similar to Experiment.sample_all_params() but the parent is re-sampled first.
def sample_parent(self)
Sets and returns a parent from currently available results.
Parameters: n/a
Return type: JSONSummary, the parent result.
Example:
evo.sample_parent()
def save_state(self, path)
Saves the state of the random variables into a file.
Parameters:
- path - (string) target filepath
Return type: n/a
Example:
e.save_state(states/curr_state.pk)
def seed(self, seed)
Manually set a seed value.
Parameters:
- seed - (int) random seed.
Return type: n/a
Example:
e.seed(1234)
def set(self, key, value)
def set_state(self, path)
Sets the state of random variables from a file
Parameters:
- path - (string) target filepath
Return type: n/a
Example:
e.set_state(states/curr_state.pk)
def top(self, count, fn=<function <lambda> at 0x7f6e597cc8c8>)
Returns the top count best results. By default, minimum.
Parameters:
- count - (int) number of results to return.
- fn - (function) comparison function. Default: leq
Return type: dict of parameters
Example:
e.top(3)
Support the development of randopt, donate to its maintainer.