Tweak a dataset#

Paths to data files:#

For benchmark users#

If the benchmark maker allows you to customize the path to the data files, you can modify the benchmark’s configuration file with the keys data_home and data_paths. The data_home key allows you to define a home path where the benchmark will search data files defined in data_paths. The default value for data_home is the benchmark directory. The data_paths define paths for each file needed by the benchmark. For instance :

data_home: /path/to/data_home/folder
data_paths:
    the_key: /path/to/the/file.ext

With this config, the benchmark will retrieve the file located in /path/to/data_home/folder/path/to/the/file.ext

To know which keys are needed, please refer to the benchmark documentation.

For benchmark makers#

You can use path configuration to allow benchmark’s users to customize the path to the data files. Benchopt provides a function config.get_data_path(key) that can be used to retrieve user’s custom paths that have been filled in config.

from benchopt import config

[...]

class Dataset(BaseDataset):

[...]

    def get_data(self):
        path = config.get_data_path(key="the_key_name")

The benchmark’s user can now update his config file with the following content :

data_paths:
    the_key_name: path/to/file.ext

The variable path will contain {benchmark_dir}/path/to/file.ext.