def get_time_loss(self, rtl=False): if self.is_dead(): if rtl: return self.real_time_loss_lst else: return self.time_loss_lst out = messenger.get_last_time_error(self.ps_ip_public, self.ps_ip_port + 1) if out == None: if rtl: return self.real_time_loss_lst else: return self.time_loss_lst t, loss, real_time_loss = out if t == 0: if rtl: return self.real_time_loss_lst else: return self.time_loss_lst if len(self.time_loss_lst) == 0 or not ((t, loss) == self.time_loss_lst[-1]): self.time_loss_lst.append((t, loss)) self.real_time_loss_lst.append((time.time() - self.start_time, real_time_loss)) if rtl: return self.real_time_loss_lst else: return self.time_loss_lst
def maintain_error(self): if self.is_dead(): return out = messenger.get_last_time_error(self.ps) if out is None: return t, loss, real_time_loss, total_loss = out if t == 0: return if len(self.metrics[self.LOSS_VS_TIME]) == 0 or not ((t, loss) == self.metrics[self.LOSS_VS_TIME][-1]): self.metrics[self.LOSS_VS_TIME].append((t, loss)) elapsed_time = time.time() - self.start_time current_cost = self.cost_model.get_cost(elapsed_time) self.metrics[self.TOTAL_LOSS_VS_TIME].append((t, total_loss / current_cost)) self.metrics[self.REAL_TIME_LOSS_VS_TIME].append((time.time() - self.start_time, real_time_loss))