All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added additional logic in
galibrate.run_gao_julia
for checking if the OS is Linux and turning off Julia pre-compilation for PyJulia; ; fix for Issue #14
- Updated the logic for setting the optimizer backend via the
run_gao
variable; fix for Issue #12
- New
benchmarks
module that defines functions often used to test and benchmark single-objective optimization applications. - New examples for each of the functions defined in the
benchmarks
functions. - 3-point line example.
- PySB double-enzymatic model example.
- Functions to resume/continue GAO runs for additional generations:
GAO.resume
and underlying functionsrun_gao_py.continue_gao
,run_gao_numba.continue_gao
, andrun_gao_cython.continue_gao
. run_gao_julia
which ports key functions to Julia via PyJulia as another alternative to Numba or Cython acceleration.- Notebook
01_profile-performance
in a newnotebooks
directory. - Notebook
02_benchmark-parametric-scaling-performance
the newnotebooks
directory. tests
directory.- Test code for the
galibrate.benchmarks
andgalibrate.sampled_parameters
. - Test code for
galibrate.gao
and thegalibrate.gao.GAO
class, as well as different integrations using the Python, Cython, Numba, and Julia backend versions:test_gao
,test_gao_py
,test_gao_numba
,test_gao_cython
, andtest_gao_julia
. - Test code for the
GaoIt
class in the pysb submodulegalibrate.pysb.galibrate_it
: test code intest_pysb
- Test code for the
galibrate.run_gao_numba
,galibrate.run_gao_julia
, andgalibrate.run_gao_cython
modules: test code intest_rungaonumba
,test_rungaojulia
, andtest_rungaocython
, respectively. - New functions in
galibrate.gao
that load specific backend version:_set_run_gao_numba
, etc.
- The setup.py uses setuptools now instead of distutils. The new setup includes the Cython
.pyx
and Julia.jl
files as data files in the package. - Renamed the
galibrate.pysb_utils
togalibrate.pysb
. - Formatted code using the Black format.
- Corrected instances of
self.parm
in theGaoIt
class toself.parms
; fix for Issue #8 - Added an
__init__.py
underpysb_utils
that imports theGaoIt
andGAlibrateIt
classes; fix for Issue #7 - Error in the
GaoIt.mask
function which calledself.names
instead of correct fucntion callself.names()
. - Error in the
GaoIt.add_all_nonkinetic_params
with misspelledpysb_model.paramters
- correct:pysb_model.parameters
- Switched instances of
np.int
tonp.int64
ornp.int_
(Cython module) for the following NumPy deprecation warning: DeprecationWarning:np.int
is a deprecated alias for the builtinint
.
- core GA now returns an array with fitness value of the fittest individual from each generation which can be accessed from the GAO property
GAO.best_fitness_per_generation
.
- Bug fix in core GA for sorting the population before selection and mating.
- Optional progress bar to monitor passage of generations during GAO run that is only displayed if tqdm is installed.
- Optional multiprocessing based parallelism when evaluating the fitness function over the population during a GAO run.
N/A