Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def gaussian_problem():
def nllh(x):
return - gaussian_llh(x)
objective = pypesto.Objective(fun=nllh)
problem = pypesto.Problem(objective=objective, lb=[-10], ub=[10])
return problem
def rosenbrock_problem():
"""Problem based on rosenbrock objective.
Features
--------
* 3-dim
* has fixed parameters
"""
objective = pypesto.Objective(fun=so.rosen)
dim_full = 2
lb = -5 * np.ones((dim_full, 1))
ub = 5 * np.ones((dim_full, 1))
problem = pypesto.Problem(
objective=objective, lb=lb, ub=ub,
x_fixed_indices=[1], x_fixed_vals=[2])
return problem
pypesto.logging.log_to_console(logging.WARN)
filename = ".test_logging.tmp"
pypesto.logging.log_to_file(logging.DEBUG, filename)
logger = logging.getLogger('pypesto')
if os.path.exists(filename):
os.remove(filename)
fh = logging.FileHandler(filename)
fh.setLevel(logging.DEBUG)
logger.addHandler(fh)
logger.info("start test")
# problem definition
def fun(_):
raise Exception("This function cannot be called.")
objective = pypesto.Objective(fun=fun)
problem = pypesto.Problem(objective, -1, 1)
optimizer = pypesto.optimize.ScipyOptimizer()
options = {'allow_failed_starts': True}
# optimization
pypesto.optimize.minimize(problem, optimizer, 5, options=options)
# assert logging worked
assert os.path.exists(filename)
f = open(filename, 'rb')
content = str(f.read())
f.close()
# tidy up
os.remove(filename)
def test_empty_prior():
"""Check that priors are zero when none are defined."""
# define negative log posterior
posterior_fun = pypesto.Objective(fun=negative_log_posterior)
# define pypesto problem without prior object
test_problem = pypesto.Problem(objective=posterior_fun, lb=-10, ub=10,
x_names=['x'])
sampler = sample.AdaptiveMetropolisSampler()
result = sample.sample(test_problem, n_samples=50, sampler=sampler,
x0=np.array([0.]))
# get log prior values of first chain
logprior_trace = -result.sample_result.trace_neglogprior[0, :]
# check that all entries are zero
assert (logprior_trace == 0.).all()
def gaussian_mixture_separated_modes_problem():
"""Problem based on a mixture of gaussians with far/separated modes."""
def nllh(x):
return - gaussian_mixture_separated_modes_llh(x)
objective = pypesto.Objective(fun=nllh)
problem = pypesto.Problem(objective=objective, lb=[-100], ub=[200],
x_names=['x'])
return problem
arg_hess = False
else:
def arg_fun(x):
return fun(x)
arg_grad = arg_hess = False
else: # integrated
if max_sensi_order >= 2:
arg_hess = hess
else:
arg_hess = None
if max_sensi_order >= 1:
arg_grad = grad
else:
arg_grad = None
arg_fun = fun
obj = pypesto.Objective(fun=arg_fun, grad=arg_grad, hess=arg_hess)
return {'obj': obj,
'max_sensi_order': max_sensi_order,
'x': x,
'fval': fun(x),
'grad': grad(x),
'hess': hess(x)}
def test_prior():
"""Check that priors are defined for sampling."""
# define negative log posterior
posterior_fun = pypesto.Objective(fun=negative_log_posterior)
# define negative log prior
prior_fun = pypesto.Objective(fun=negative_log_prior)
# define pypesto prior object
prior_object = pypesto.NegLogPriors(objectives=[prior_fun])
# define pypesto problem using prior object
test_problem = pypesto.Problem(objective=posterior_fun,
x_priors_defs=prior_object,
lb=-10, ub=10,
x_names=['x'])
sampler = sample.AdaptiveMetropolisSampler()
result = sample.sample(test_problem, n_samples=1e4, sampler=sampler,
from test.test_sbml_conversion import load_model_objective
from pypesto.objective.util import sres_to_schi2, res_to_chi2
from pypesto.objective import CsvHistory, HistoryOptions, MemoryHistory
from pypesto.optimize.optimizer import read_result_from_file, OptimizerResult
from pypesto.objective.constants import (
FVAL, GRAD, HESS, RES, SRES, CHI2, SCHI2
)
from typing import Sequence
class HistoryTest(unittest.TestCase):
problem: pypesto.Problem = None
optimizer: pypesto.Optimizer = None
obj: pypesto.Objective = None
history_options: HistoryOptions = None
ub: np.ndarray = None
lb: np.ndarray = None
x_fixed_indices = None
x_fixed_vals = None
fix_pars = True
def check_history(self):
kwargs = {
'objective': self.obj,
'ub': self.ub,
'lb': self.lb,
}
if self.fix_pars:
kwargs = {**kwargs, **{
'x_fixed_indices': self.x_fixed_indices,