Store
Local ‘database’ of runs class.
Classes:
|
Manages the mini database of metadata on previous experiment runs. |
-
class
curifactory.store.ManagerStore(manager_cache_path: str) Manages the mini database of metadata on previous experiment runs. This is how we keep track of experiment run numbers etc. A metadata block for each run is stored in the manager cache path under
store.json.Note that the metadata blocks we keep track of for each run follows the following example:
{ "reference": "example_experiment_1_2021-06-15-T100003", "experiment_name": "example_experiment", "run_number": 1, "timestamp": "2021-06-15-T100003", "commit": "", "params_files": ["example_params"], "args": { "example_params": [ [ "test_params", "44b5e428e7165975a3e4f0d1674dbe5f" ] ] }, "full_store": false, "status": "complete", "cli": "experiment example_experiment -p example_params", "hostname": "mycomputer", "notes": "" }
- Parameters
manager_cache_path (str) – The path to the directory to keep the
store.json.
Methods:
add_run(mngr)Add a new metadata block to the store for the passed
ArtifactManagerinstance.get_experiment_runs(experiment_name)Get all the runs associated with the specified experiment name from the database.
get_run(ref_name)Get the metadata block for the run with the specified reference name.
load()Load the current experiment database from
sore.jsonintoself.runs.save()Save the current database in
self.runsinto thestore.jsonfile.update_run(mngr)Updates the metadata in the database for the run associated with the passed
ArtifactManager.Attributes:
The location to store the
store.json.The list of metadata blocks for each run.
-
add_run(mngr) Add a new metadata block to the store for the passed
ArtifactManagerinstance.Note that this automatically calls the
save()function.- Parameters
mngr (ArtifactManager) – The manager to grab run metadata from.
- Returns
The newly created dictionary (metadata block) for the current manager’s run.
-
get_experiment_runs(experiment_name: str) Get all the runs associated with the specified experiment name from the database.
- Parameters
experiment_name (str) – The experiment name to get all run metadata for.
- Returns
A list of all dictionaries (metadata blocks) that have the requested experiment name.
-
get_run(ref_name: str) Get the metadata block for the run with the specified reference name.
- Parameters
ref_name (str) – The run reference name, following the [experiment_name]_[run_number]_[timestamp] format.
- Returns
A dictionary (metadata block) for the run with the requested reference name, and the index of the run within the total list of runs.
-
load() Load the current experiment database from
sore.jsonintoself.runs.
-
path The location to store the
store.json.
-
runs The list of metadata blocks for each run.
-
save() Save the current database in
self.runsinto thestore.jsonfile.
-
update_run(mngr) Updates the metadata in the database for the run associated with the passed
ArtifactManager.This is currently just used to update the status and include any error messages if relevant, when an experiment finishes running.
Note that this automatically calls the
save()function.- Parameters
mngr (ArtifactManager) – The manager to grab run metadata from.
- Returns
The updated dictionary (metadata block) for the run. It returns None if the experiment isn’t found in the database.