mihaibujanca / slambench3

Other
46 stars 5 forks source link

TOML-based configuration #32

Open mihaibujanca opened 5 years ago

mihaibujanca commented 5 years ago

We want to move away from the parameter manager type reading and use TOML to configure SLAMBench.

This will require creating a class or struct (e.g called GlobalConfiguration or similar) to replicate the same structure the config files might have. To get started on this issue, the current pipeline is roughly

Special care to be taken of the callbacks created in SLAMBenchConfiguration. When parsing the TOML file for algorithms, make sure to call Library_callback. Similarly, check any other callbacks associated with other components or actions (e.g datasets)

mihaibujanca commented 5 years ago

Questions to be answered:

  1. What is the appropriate structure? Perhaps something along the lines of

    datasets = ["path/to/dataset","path/to/dataset2"]
    algorithms = ["path/to/algorithm.so", "path/to/algorithm2.so"]
    metrics = [metric1,metric2] # metrics required 
    [algorithm-name]
    # algorithm settings, hyperparameters etc (e.g vocabulary path for orb-slam2) 
    param1 = "value"
    param2 = "value2"
  2. How do we share the access to the global configuration between the algorithms and the core of the framework? This could either be done by adding the GlobalConfiguration as a public member variable in SLAMBenchConfig since that is shared with the algorithms or there could be a singleton with global access.