|
@@ -160,10 +160,11 @@ class Experiment:
|
|
|
|
|
|
|
|
|
class ExperimentVersion:
|
|
|
- def __init__(self, exp_version_id, flow, buckets: str, exp_version_name=None, debug_users: str = '',
|
|
|
- config=None, debug_crowd_ids=None):
|
|
|
+ def __init__(self, exp_version_id, flow, buckets: str, exp_id: int, exp_version_name=None,
|
|
|
+ debug_users: str = '', config=None, debug_crowd_ids=None):
|
|
|
self.id = int(exp_version_id)
|
|
|
self.exp_version_name = exp_version_name
|
|
|
+ self.exp_id = int(exp_id)
|
|
|
self.config = config
|
|
|
self.debug_crowd_ids = debug_crowd_ids
|
|
|
self.debug_users = debug_users
|
|
@@ -197,8 +198,8 @@ class ExperimentVersion:
|
|
|
|
|
|
|
|
|
class Project:
|
|
|
- def __init__(self, project_name=None, project_id=None):
|
|
|
- self.project_name = project_name
|
|
|
+ def __init__(self, name=None, project_id=None):
|
|
|
+ self.name = name
|
|
|
self.id = int(project_id)
|
|
|
self.domains = []
|
|
|
self.layers = []
|
|
@@ -219,12 +220,16 @@ class Project:
|
|
|
|
|
|
|
|
|
class ExperimentResult:
|
|
|
- def __init__(self, project=None, experiment_context=None, project_name=None):
|
|
|
+ def __init__(self, project=None, experiment_context=None):
|
|
|
self.project = project
|
|
|
+ if project:
|
|
|
+ self.project_name = project.name
|
|
|
+ else:
|
|
|
+ self.project_name = None
|
|
|
self.experiment_context = experiment_context
|
|
|
- self.project_name = project_name
|
|
|
self.params = {}
|
|
|
- self.experiment_versions = []
|
|
|
+ self.experiment_versions: List[ExperimentVersion] = []
|
|
|
+ self.exp_id = ""
|
|
|
|
|
|
def add_params(self, params: Dict[str, str]):
|
|
|
self.params.update(params)
|
|
@@ -233,8 +238,16 @@ class ExperimentResult:
|
|
|
self.experiment_versions.append(version)
|
|
|
|
|
|
def init(self):
|
|
|
- # Initialize result-specific logic
|
|
|
- pass
|
|
|
+ buf = []
|
|
|
+ if self.project:
|
|
|
+ buf.append(f"ER{self.project.id}")
|
|
|
+
|
|
|
+ if self.experiment_versions:
|
|
|
+ for experiment_version in self.experiment_versions:
|
|
|
+ buf.append(f"_E{experiment_version.exp_id}")
|
|
|
+ buf.append(f"#EV{experiment_version.id}")
|
|
|
+
|
|
|
+ self.exp_id = "".join(buf)
|
|
|
|
|
|
def __str__(self):
|
|
|
return f"ExperimentResult(project={self.project_name}, params={self.params}, experiment_context={self.experiment_context}, experiment_versions={self.experiment_versions})"
|