Skip to content

Commit 65f0d26

Browse files
committed
delete the information for the first three iter info before accumulating to buffer
handling exceptions for lazy initialization update default buffer size 100 to 500
1 parent 2bf30e9 commit 65f0d26

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

eta.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,22 @@
2828

2929

3030
class ETACalculator:
31-
def __init__(self, iterations, start_iteration=0, buffer_size=100):
31+
def __init__(self, iterations, start_iteration=0, buffer_size=500):
3232
self.iterations = iterations
3333
self.start_iteration = start_iteration
3434
self.buffer_size = buffer_size
3535
self.start_time = 0
3636
self.recent_times = []
3737
self.recent_iterations = []
38+
self.warm_up_cnt = 0
39+
self.warm_up_end = False
3840

3941
def start(self):
4042
self.start_time = perf_counter()
4143
self.recent_times.append(self.start_time)
4244
self.recent_iterations.append(self.start_iteration)
45+
self.warm_up_cnt = 0
46+
self.warm_up_end = False
4347

4448
def end(self):
4549
avg_ips = float(self.iterations - self.start_iteration) / (perf_counter() - self.start_time)
@@ -53,10 +57,17 @@ def reset(self):
5357
def update_buffer(self, iteration_count):
5458
self.recent_times.append(perf_counter())
5559
self.recent_iterations.append(iteration_count)
56-
if len(self.recent_times) > self.buffer_size:
57-
self.recent_times.pop(0)
58-
if len(self.recent_iterations) > self.buffer_size:
59-
self.recent_iterations.pop(0)
60+
if self.warm_up_end:
61+
if len(self.recent_times) > self.buffer_size:
62+
self.recent_times.pop(0)
63+
self.recent_iterations.pop(0)
64+
else:
65+
if len(self.recent_times) > 2:
66+
self.recent_times.pop(0)
67+
self.recent_iterations.pop(0)
68+
self.warm_up_cnt += 1
69+
if self.warm_up_cnt == 3:
70+
self.warm_up_end = True
6071

6172
def convert_to_time_str(self, total_sec):
6273
times = []

0 commit comments

Comments
 (0)