def __get_text_field__(self, iteration, n_iter, delta_accept, total_accept, time_per_iter, eta): template = """ <div class="progress"> <div class="progress-bar" role="progressbar" aria-valuenow="{}" aria-valuemin="0" aria-valuemax="{}" style="width:{:.2f}%"> <span class="sr-only">{:.2f}% Complete</span> </div> </div> <table class="table"> <tr> <td>Current iteration</td> <td>{}</td> </tr> <tr> <td>Accept rate (last {})</td> <td>{:.2f}%</td> </tr> <tr> <td>Accept rate (overall)</td> <td>{:.2f}%</td> </tr> <tr> <td>T/iter</td> <td>{:.4f} seconds</td> </tr> <tr> <td>ETA</td> <td>{}</td> </tr> <tr> <td>Errors</td> <td>{}</td> </tr> </table> """ return template.format( iteration, n_iter, iteration * 100.0 / n_iter, iteration * 100.0 / n_iter, iteration, self.recent_acceptance_lag, delta_accept, total_accept, time_per_iter, pretty_time_delta(eta), self.__total_errors__, )
def update(self, iteration, acceptances): if self.verbosity == 1 and iteration % self.update_frequency == 0 and iteration > 0: update_frequency = self.update_frequency toc = time.time() - self.last_update_time self.last_update_time = time.time() delta_accept = acceptances[-update_frequency:].mean() * 100 tot_accept = acceptances.mean() * 100 t_per_iter = toc * 1. / update_frequency remaining = t_per_iter * (self.n_iter - iteration) message = 'Iter {}: Accept ({:.0f}% {:.0f}%) T/Iter {:.4f}s Remaining {}'.format( iteration, delta_accept, tot_accept, t_per_iter, pretty_time_delta(remaining)) print(message) sys.stdout.flush() logger.info(message)
def __get_text_field__(self, iteration, n_iter, delta_accept, total_accept, time_per_iter, eta): template = """ <div class="progress"> <div class="progress-bar" role="progressbar" aria-valuenow="{}" aria-valuemin="0" aria-valuemax="{}" style="width:{:.2f}%"> <span class="sr-only">{:.2f}% Complete</span> </div> </div> <table class="table"> <tr> <td>Current iteration</td> <td>{}</td> </tr> <tr> <td>Accept rate (last {})</td> <td>{:.2f}%</td> </tr> <tr> <td>Accept rate (overall)</td> <td>{:.2f}%</td> </tr> <tr> <td>T/iter</td> <td>{:.4f} seconds</td> </tr> <tr> <td>ETA</td> <td>{}</td> </tr> <tr> <td>Errors</td> <td>{}</td> </tr> </table> """ return template.format(iteration, n_iter, iteration * 100. / n_iter, iteration * 100. / n_iter, iteration, self.recent_acceptance_lag, delta_accept, total_accept, time_per_iter, pretty_time_delta(eta), self.__total_errors__)
def update(self, iteration, acceptances): if self.verbosity == 1 and iteration % self.update_frequency == 0 and iteration > 0: update_frequency = self.update_frequency toc = time.time() - self.last_update_time self.last_update_time = time.time() delta_accept = acceptances[-update_frequency:].mean()*100 tot_accept = acceptances.mean()*100 t_per_iter = toc * 1. / update_frequency remaining = t_per_iter * (self.n_iter - iteration) message = 'Iter {}: Accept ({:.0f}% {:.0f}%) T/Iter {:.4f}s Remaining {}'.format(iteration, delta_accept, tot_accept, t_per_iter, pretty_time_delta(remaining)) print(message) sys.stdout.flush() logger.info(message)