in runtool/runtool/experiments_converter.py [0:0]
def generate_tags(self) -> List[Dict[str, str]]:
"""
Generates a list of tags where each tag has the format:
{"Key": ..., "Value": ...}
This list will be populated with any tags in `job.experiment`.
Further some default tags are added which aids in identifying and grouping
the started jobs:
`run_configuration_id`
Unique tag which identifies the algorithm, hyperparameters & dataset
used in the job.
`started_with_runtool`
identifies that the runtool was used to start this job
`experiment_name`
The name of the experiment which this jobs is a part of.
`repeated_runs_group_id`
If a job should be run several times in an experiment each of the repeated
runs of it will have the same `repeated_runs_group_id`.
`number_of_runs`
The number of times the job should be run.
"""
tags = {}
tags.update(self.experiment["algorithm"].get("tags", {}))
tags.update(self.experiment["dataset"].get("tags", {}))
tags.update(
{
"run_configuration_id": self.run_configuration,
"started_with_runtool": True,
"experiment_name": self.experiment_name,
"repeated_runs_group_id": reproducible_hash(
self.run_configuration + str(datetime.now())
),
"number_of_runs": str(self.runs),
}
)
tags.update(self.tags)
return [
{"Key": key, "Value": str(value)} for key, value in tags.items()
]