[model] optimizer can now be an optimizer instance, instead of a string

This commit is contained in:
mzwiessele 2014-06-19 12:06:39 -07:00
parent 1e006f63b5
commit eaa18e3512

View file

@ -227,13 +227,15 @@ class Model(Parameterized):
if optimizer is None: if optimizer is None:
optimizer = self.preferred_optimizer optimizer = self.preferred_optimizer
elif isinstance(optimizer, optimization.Optimizer):
opt = optimizer
else:
optimizer = optimization.get_optimizer(optimizer)
opt = optimizer(start, model=self, **kwargs)
if start == None: if start == None:
start = self.optimizer_array start = self.optimizer_array
optimizer = optimization.get_optimizer(optimizer)
opt = optimizer(start, model=self, **kwargs)
opt.run(f_fp=self._objective_grads, f=self._objective, fp=self._grads) opt.run(f_fp=self._objective_grads, f=self._objective, fp=self._grads)
self.optimization_runs.append(opt) self.optimization_runs.append(opt)