-
Notifications
You must be signed in to change notification settings - Fork 0
Guidelines
The repository is composed of 4 modules: Preprocess, Feature Extraction, Compatibility, Solver.
Modules will be implemented using a classes. (Optional: each module will inherit from a basic module that provides common functionalities such as data/parameters loading/saving).
Each module will load and call different methods, depending on the parameters given. (To be continued)
Every modules takes data, metadata (json
) and a parameter file (yaml
) as input, and outputs data, metadata and a copy of the input parameter file.
Each modules will take as an input and gives as an output a specific metadata file called history.json
. At the end of each step this file will contain all the metadata up to that step.
All of the outputs are saved in the output/{puzzle}
folder. Each modules saves its outputs in a {module_folder_name[module_name]}
sub-folder (see below).
By specifying an optional parameter, this sub-folder will uniquely named by adding a random string (or possibly a specified string) to avoid overwriting the outputs. (We should come up with a mechanism to give this input randomly named input to the next module! If we stick with custom string this will not be a problem). The solver will be an exception to this rule: it will always save the solutions by adding the timestamp (and random string).
module_folder_name = {
'preprocess' : 'pieces',
'feature_extraction' : 'features',
'compatibility' : 'experiments/{timestamp}_{rndstr}/cm',
'solver' : 'experiments/{timestamp}_{rndstr}/solutions',
}