-
Notifications
You must be signed in to change notification settings - Fork 266
Architecture Description
NOTE: this information is valid from v.0.6.0 (not released yet) onwards.
Inside the /talos folder there are several other folders.
-
/talos
- /commands || all end-user facing commands
- /logging || everything to do with logging and storing results
- /metrics || anything to do with measurement
- /model || anything to do with the input model
- /parameter || everything to do with parameter space
- /reducer || everything to do with reductions
- /scan || the mainline program codes
- /templates || datasets, models, params, and pipelines
- /utils || everything else
Once user starts an experiment with minimal settings talos.Scan(x, y, params, model) the following takes place:
/scan/scan_prepare.py handles the preparation for the experiment. Here scan_object is created, which is the self in the mainline program.
The most notable of these procedures is invoking /parameters/ParamSpace.py which creates an object that is accessed throughout the program in self.param_object. self.param_object contains three important features:
- yield the next permutation
- remove permutations from the index
- yield
Falsewhen no permutation remain in the index
Upon completion, /scan/scan_prepare.py yields back to /scan/scan_run.py. Each iteration in the program is handled in /scan/scan_round.py which is invoked in a loop from /scan/scan_run.py. This continues as long as self.param_object yields permutations.
Once self.param_object no longer yields permutations, /scan/scan_run.py invokes final logging, which is handled by /scan/scan_finish.py