attribench.distributed.Metric

class attribench.distributed.Metric(model_factory, dataset, batch_size, address, port, devices=None)[source]

Bases: DistributedComputation

Abstract base class for metrics that are computed using multiple processes.

Methods

run

Runs the metric computation and optionally saves the result.

save_result

Save the result to disk.

Attributes

result

run(result_path=None, progress=True)[source]

Runs the metric computation and optionally saves the result. If no result path is given, the result will not be saved to disk. It can still be accessed via the result property.

Parameters:
result_pathstr, optional

Path to save the result to. If None, the result is not saved to disk.

progressbool, optional

Whether to show a progress bar. Defaults to True.

save_result(path, format='hdf5')[source]

Save the result to disk.

Parameters:
pathstr

Path to save the result to.

formatstr, optional

Format to save the result in. If "hdf5", the result is saved as an HDF5 file. If "csv", the result is saved as a directory structure containing CSV files. Default: "hdf5".

Raises:
ValueError

If the result is None.