cselab / korali Goto Github PK
View Code? Open in Web Editor NEWHigh-performance framework for uncertainty quantification, optimization and reinforcement learning.
Home Page: https://www.cse-lab.ethz.ch/korali/
License: MIT License
High-performance framework for uncertainty quantification, optimization and reinforcement learning.
Home Page: https://www.cse-lab.ethz.ch/korali/
License: MIT License
These are not shown when compiling with Intel, but need to be fixed.
To allow silent-normal-verbose output of solvers
Using readthedocs format
in TMCMC and CMA-ES
implement PASC cCMA-ES for constrained optimization
CMAES will stall if initial guess is outside parameter boundaries. Add a check to verify this before running.
dependency #11
duplicate?
why is this in
unit test for important functionalities, such as:
reevaluate default params:
As requested by George. I'll need help in understanding what this entails.
Using read the docs style
Do not compile them with make all, but with make test
adding a boolean config:
_diag = consume(js, { "Diag" }, KORALI_BOOLEAN, std::to_string(true));
or
_diag = consume(js, { "Diag" }, KORALI_BOOLEAN, std::to_string(false));
creates this error
terminate called after throwing an instance of 'nlohmann::detail::type_error'
what(): [json.exception.type_error.302] type must be boolean, but is number
Aborted
I assume that to_string creates a 0 or 1 out of the boolean and hence this error?
We don't need burn-in in the first generation.
When I delete the _burnIn
variable from for (size_t c = 0; c < _s; c++) chainLength[c] = 1 + _burnIn;
I get the error:
[Korali] Generation 0 - Annealing Ratio: 0.00% - Elapsed Time: 1.559227s
gsl: simplex2.c:372: ERROR: non-finite function value encountered
Default GSL error handler invoked.
Aborted
when run the heat2d sample_posterior
E.g. is an abrupt change in stddev really a reason for termination?
To let users know what compilers work with what
i.e. multivariate gausian, or uniform priors for which holds a+b < 1.0
a, b > 0
Code looks bad on the web
init diag from json config (now by default false)
dependency: #49
Let Korali dowload and install the correct version of GSL, if not specified by the user
Allow the user define the name of file to save the results to.
When compiling with clang
In file included from solvers/tmcmc.cpp:1:
../include/solvers/tmcmc.h:72:47: warning: explicitly assigning value of variable of type 'double' to itself [-Wself-assign]
void setToleranceCOV(double TolCOV) { TolCOV = TolCOV; }
~~~~~~ ^ ~~~~~~
../include/solvers/tmcmc.h:74:50: warning: explicitly assigning value of variable of type 'double' to itself [-Wself-assign]
void setCovarianceScaling(double bbeta) { bbeta = bbeta; }
~~~~~ ^ ~~~~~
problems/base.cpp:9:62: fatal error: no viable conversion from 'time_point<[...], duration<[...], ratio<[...], __static_lcm<ratio<1, 1000000>::den,
ratio<1, 1000000000>::den>::value aka 1000000000>>>' to 'const time_point<[...], duration<[...], ratio<[...], 1000000>>>'
std::time_t now_c = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now() - std::chrono::nanoseconds(0));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When compiling with g++-8
g++-8 -o sample_posterior sample_posterior.o model/heat2d.o `gsl-config --libs` -lm -pthread -D_KORALI_USE_PTHREADS -L../../source -lkorali
ld: warning: ignoring file ../../source/libkorali.a, file was built for archive which is not the architecture being linked (x86_64): ../../source/libkorali.a
Undefined symbols for architecture x86_64:
"Korali::Solver::Base::run()", referenced from:
_main in sample_function.o
"Korali::Solver::TMCMC::TMCMC(Korali::Problem::Base*)", referenced from:
_main in sample_function.o
"Korali::Problem::Base::addParameter(Korali::Parameter::Base*)", referenced from:
_main in sample_function.o
"Korali::Problem::Direct::Direct(double (*)(double*), unsigned long)", referenced from:
_main in sample_function.o
"Korali::Parameter::Uniform::Uniform(double, double)", referenced from:
_main in sample_function.o
ld: symbol(s) not found for architecture x86_64
ld: warning: ignoring file ../../source/libkorali.a, file was built for archive which is not the architecture being linked (x86_64): ../../source/libkorali.a
Undefined collect2: error: ld returned 1 exit status
symbols for architecture x86_64:
"Korali::Solver::Base::run()", referenced from:
_main in sample_function.o
"Korali::Solver::TMCMC::TMCMC(Korali::Problem::Base*)", referenced from:
_main in sample_function.o
"Korali::Problem::Base::addParameter(Korali::Parameter::Base*)", referenced from:
_main in sample_function.o
"Korali::Problem::Direct::Direct(double (*)(double*), unsigned long)", referenced from:
_main in sample_function.o
"Korali::Parameter::Uniform::Uniform(double, double)", referenced from:
_main in sample_function.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [sample_function] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [sample_function] Error 1
make[2]: *** Waiting for unfinished jobs....
ld: warning: ignoring file ../../source/libkorali.a, file was built for archive which is not the architecture being linked (x86_64): ../../source/libkorali.a
Just in case somebody wants to use it
Right now, we only use gaussian with sigma 0-20. This need to be customizable.
Can you give to UPCXX_CODEMODE and KORALI_CONDUIT default values? 03 and single?
I dont know how this case is treated:
what if you add the same prior twice to a problem? this should create errors / warnings, probably this changes the sampling adversly.
used for term criterion
segfault for configurations
{ "Mu", "Type" }
{ "Termination Criteria", "Ignore" }
(is it because we have default values? assigning Parameter Distribution & Type works)
if we assign strings:
korali["Solver"]["Mu"]["Type"] = "Logarithmic";
or
korali["Solver"]["Termination Criteria"]["Ignore"] = "MinDeltaX";
at
#10 0x000000000043c23d in Korali::Parameter::Base::getConfigurationabi:cxx11 (this=0x675660) at parameters/base/base.cpp:49
These include:
TMCMC Parameters
CMA-ES Parameters
Distribution Parameters
Allows defining a job with a file, instead of a job. Use J-SON or XML format
bug in calculation or output
[Korali] Min Diag C: -nan - Max Diag C: -nan
[Korali] Min EW C: -nan - Max EW C: -nan
Maximum = Upper bound
minimum = lower bound
(check korali.configure, remove upcxx relevant flags, check python flag set)
make install
../libs/pybind11/detail/common.h:112:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
make[1]: *** [korali.shared.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/cluster/home/wadaniel/skorali/source'
make: *** [source/libkorali.so] Error 2
for reference:
wadaniel@eu-login-16-ng:~/skorali/examples/cxx/ackley$ module list
Currently Loaded Modulefiles:
So that a job can be suspended and resumed later.
We'll need to take a look at how to produce the Evidence result, and put this back to TMCMC correctly.
export KORALI_MODE=debug or KORALI_MODE=O3
find a place for helper functions, such as
doubleRangeMin
doubleRangeMax
in CMA-ES
more to come (e.g. vector printing)
Seed not working properly on Euler,
I found that all runs executed with same seed, or did they really start at the SAME time (nanosec)?
Ability to compile a serial version.
if possible no gsl method
For pre-compiled or unmodifiable applications
To allow Korali be used as a python app
I took these off when creating the new variant of sKorali's TMCMC. Time to put it back again
These are outdated and contain names of the PI4U authors.
We still need to give credit to previous developers of CMA-ES and TMCMC.
./configure
[Korali] Checking for GNU Scientific Library (GSL)...
[Korali] Success: gsl-config found.
[Korali] Configuring without support for MPI Conduit/Applications.
[Korali] Configuring without support for UPC++ Conduit/Applications.
[Korali] Configuring without support for the Pthreads Conduit.
[Korali] Configuring without support for the OpenMP Conduit.
[Korali] Creating common.mk...
[Korali] Configuration was successful.
[Korali] Run 'make' to build Korali.
make
make[1]: Entering directory /cluster/home/wadaniel/projects/skorali/source' make[1]: Nothing to be done for
all'.
make[1]: Leaving directory `/cluster/home/wadaniel/projects/skorali/source'
make tests
make[1]: Entering directory /cluster/home/wadaniel/projects/skorali/source' make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /cluster/home/wadaniel/projects/skorali/source' [Korali] Installing Korali... mkdir -p /cluster/home/wadaniel/projects/skorali/korali/lib mkdir -p /cluster/home/wadaniel/projects/skorali/korali/include mkdir -p /cluster/home/wadaniel/projects/skorali/korali/bin cp source/libkorali.a /cluster/home/wadaniel/projects/skorali/korali/lib cp libs/json -r /cluster/home/wadaniel/projects/skorali/korali/include cp libs/koralijson -r /cluster/home/wadaniel/projects/skorali/korali/include make -j -C tests/rosenbrock/ make[1]: Entering directory
/cluster/home/wadaniel/projects/skorali/tests/rosenbrock'
korali-cxx -c minimize_function.cpp
make[1]: korali-cxx: Command not found
make[1]: *** [minimize_function.o] Error 127
make[1]: Leaving directory `/cluster/home/wadaniel/projects/skorali/tests/rosenbrock'
make: *** [tests/rosenbrock/] Error 2
Using readthedocs format
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.