Running parameter optimization for an AMICI model using parpe::OptimizationApplication
¶
This document describes the output and options of parPE executables based on
parpe::OptimizationApplication
.
TODO
For now see example notebook in ../examples/parpeamici/steadystate/
.
Command line options¶
Run the created executable with the -h
/--help
argument.
Output explained¶
Optimizer iterations¶
[2018-08-26 12:23:02] [INF] [ 0/i21r01c01s01] [o4i2] iter: 2 cost: 50339.6 time_iter: wall: 278.65s cpu: 59638.5s time_optim: wall: 1312.94s cpu: 230120s
^timestamp ^loglvl ^rank/hostname ^optimizerProgress
Log level: one of debug (‘DBG’), information (‘INF’), warning (‘WRN’), error (‘ERR’), critical (‘CRI’)
Rank: MPI rank. Master is 0. For non-MPI runs this is -1.
Optimizer progress: Number after ‘o’ a running index of optimizer runs, number after ‘i’ is the current iteration
‘iter’: current iteration
‘cost’: current cost function value
‘time_iter: wall:’ wall-time for this iteration, ‘cpu’ approximate CPU-time for this iteration
‘time_optim’: cumulative ‘time_iter’ for the given optimizer run
Simulations during cost function evaluation¶
[2018-09-05 12:14:59] [DBG] [18/i20r01c01s11] [o0i0c1717] Result for 2379: -0,792136 (0) (21,6578s+)
^timestamp ^loglvl ^rank/hostname ^optimizerProgress ^messageID ^llh ^status ^time ^gradientFlag
see above
Optimizer progress: see above + Number after ‘c’ is the current condition index
messageID: internal use only
llh: Log-likelihood as provided by AMICI
status: AMICI status
time: simulation wall-time
gradientFlag: ‘+’ indicates simulation with gradient, ‘-’ indicates simulation without gradient
Environment variables¶
PARPE_NUM_PARALLEL_STARTS
Setting
PARPE_NUM_PARALLEL_STARTS=n
will create a maximum ofn
threads for concurrent local optimizations during multi-start optimization. If unset, this defaults to the number of concurrent threads supported by hardware.PARPE_LOG_SIMULATIONS
Setting
PARPE_LOG_SIMULATIONS=1
will cause every single AMICI simulation to be saved in the result files.Note: In the case of large models and many simulation conditions this can result in huge files.
PARPE_NO_DEBUG
With
PARPE_NO_DEBUG=1
noLOGLVL_DEBUG
messages (i.e. those prefixed with[DBG]
) will be printed.PARPE_MAX_SIMULATIONS_PER_PACKAGE=n and PARPE_MAX_GRADIENT_SIMULATIONS_PER_PACKAGE=n
These environment variables determine how many simulation requests will be sent to workers within one message. For simulations without sensitivities (e.g. during IpOpt line-search)
PARPE_MAX_SIMULATIONS_PER_PACKAGE
is used, for simulations with sensitivitiesPARPE_MAX_GRADIENT_SIMULATIONS_PER_PACKAGE
is used. Changing these values may be useful to reduce communication overhead when working with a high number of workers. It may also be necessary to reduce this value in the case only very few simulations can be performed in parallel.Note: These variables have no effect in case of shared-memory (non-MPI) execution
PARPE_NUM_SIMULATION_TRIALS (integer) and PARPE_INTEGRATION_TOLERANCE_RELAXATION_FACTOR (float)
In case of simulation failure, parPE try rerunning an AMICI simulation with a
PARPE_INTEGRATION_TOLERANCE_RELAXATION_FACTOR
-fold higher error tolerance for a total ofPARPE_NUM_SIMULATION_TRIALS
times (including the initial attempt).