Esempio n. 1
0
File: db.py Progetto: yaronha/mlrun
 def store_run(self, session, struct, uid, project="", iter=0):
     project = project or config.default_project
     self._create_project_if_not_exists(session, project)
     run = self._get_run(session, uid, project, iter)
     if not run:
         run = Run(
             uid=uid,
             project=project,
             iteration=iter,
             state=run_state(struct),
             start_time=run_start_time(struct) or datetime.now(),
         )
     labels = run_labels(struct)
     update_labels(run, labels)
     run.struct = struct
     self._upsert(session, run, ignore=True)
Esempio n. 2
0
File: db.py Progetto: yaronha/mlrun
 def update_run(self, session, updates: dict, uid, project="", iter=0):
     project = project or config.default_project
     run = self._get_run(session, uid, project, iter)
     if not run:
         raise DBError(f"run {uid}:{project} not found")
     struct = run.struct
     for key, val in updates.items():
         update_in(struct, key, val)
     run.struct = struct
     new_state = run_state(struct)
     if new_state:
         run.state = new_state
     start_time = run_start_time(struct)
     if start_time:
         run.start_time = start_time
     run.labels.clear()
     for name, value in run_labels(struct).items():
         lbl = Run.Label(name=name, value=value, parent=run.id)
         run.labels.append(lbl)
     session.merge(run)
     session.commit()
     self._delete_empty_labels(session, Run.Label)