optzer documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Basic concept

It is a bit complicated to use optzer and thus highly recommended that you learn through examples in the github repository.

Here, only a basic concept is explained briefly.

Flowchart

As shown in the above figure, optzer needs the following files:

  • in.optzer – configuration for performing optzer.
  • in.vars.optzer – initial values of parameters to be optimized and search range of each parameter.
  • data.ref.XXX – reference data to be used to evaluate trial parameters.
  • in.params.YYY – files which the external programs read trial parameters from and optzer writes the trial parameters into.
  • subjob.sh – describes how the external programs are performed and how to convert the obtained data to data.opt.XXX so that they can be compared with data.ref.XXX.

In the directory where there exist above files, run optzer command as,

optzer --nproc 4 --random-seed 42 2>&1 | tee out.optzer

If you correctly setup subjob.sh file with other necessary files that are required to run the external program, the optzer will optimize parameters. Since the optzer performs several subjobs simultaneously by the number specified with --nproc option using multiprocessing library in python, it would be good to run it on some computer with many cores or threads.