예제 #1
0
 def stats(self):
     replay_stats = ray.get(self.replay_actors[0].stats.remote())
     timing = {
         "{}_time_ms".format(k): round(1000 * self.timers[k].mean, 3)
         for k in self.timers
     }
     timing["learner_grad_time_ms"] = round(
         1000 * self.learner.grad_timer.mean, 3)
     timing["learner_dequeue_time_ms"] = round(
         1000 * self.learner.queue_timer.mean, 3)
     stats = {
         "replay_shard_0": replay_stats,
         "timing_breakdown": timing,
         "sample_throughput": round(self.timers["sample"].mean_throughput,
                                    3),
         "train_throughput": round(self.timers["train"].mean_throughput, 3),
         "num_weight_syncs": self.num_weight_syncs,
         "pending_sample_tasks": self.sample_tasks.count,
         "pending_replay_tasks": self.replay_tasks.count,
         "learner_queue": self.learner.learner_queue_size.stats(),
         "samples": self.meters["samples_per_loop"].stats(),
         "replays": self.meters["replays_per_loop"].stats(),
         "reprios": self.meters["reprios_per_loop"].stats(),
         "reweights": self.meters["reweights_per_loop"].stats(),
     }
     return dict(Optimizer.stats(self), **stats)
예제 #2
0
 def stats(self):
     return dict(
         Optimizer.stats(), **{
             "wait_time_ms": round(1000 * self.wait_timer.mean, 3),
             "apply_time_ms": round(1000 * self.apply_timer.mean, 3),
             "dispatch_time_ms": round(1000 * self.dispatch_timer.mean, 3),
         })
예제 #3
0
 def stats(self):
     return dict(Optimizer.stats(), **{
         "sample_time_ms": round(1000 * self.sample_timer.mean, 3),
         "load_time_ms": round(1000 * self.load_timer.mean, 3),
         "grad_time_ms": round(1000 * self.grad_timer.mean, 3),
         "update_time_ms": round(1000 * self.update_weights_timer.mean, 3),
     })
예제 #4
0
 def stats(self):
     return dict(Optimizer.stats(self), **{
         "sample_time_ms": round(1000 * self.sample_timer.mean, 3),
         "grad_time_ms": round(1000 * self.grad_timer.mean, 3),
         "update_time_ms": round(1000 * self.update_weights_timer.mean, 3),
         "opt_peak_throughput": round(self.grad_timer.mean_throughput, 3),
         "opt_samples": round(self.grad_timer.mean_units_processed, 3),
     })
예제 #5
0
파일: async.py 프로젝트: adgirish/ray
 def stats(self):
     return dict(Optimizer.stats(), **{
         "wait_time_ms": round(1000 * self.wait_timer.mean, 3),
         "apply_time_ms": round(1000 * self.apply_timer.mean, 3),
         "dispatch_time_ms": round(1000 * self.dispatch_timer.mean, 3),
     })