AlexNijjar commited on
Commit
4f3cfb4
β€’
1 Parent(s): 656f516

Check if initializing

Browse files
Files changed (1) hide show
  1. app.py +10 -6
app.py CHANGED
@@ -26,11 +26,12 @@ demo = gr.Blocks(css=".typewriter {font-family: 'JMH Typewriter', sans-serif;}",
26
 
27
 
28
  class Status(Enum):
29
- IN_PROGRESS = ("In Progress", "orange")
30
  DONE = ("Done", "springgreen")
31
  BROKEN = ("Broken", "red")
32
  STOPPED = ("Stopped", "red")
33
  CRASHED = ("Crashed", "red")
 
34
 
35
  def get_alt_time_text(self) -> str:
36
  return "∞" if self.is_broken() else "N/A"
@@ -42,7 +43,7 @@ class Status(Enum):
42
  return self.value[1]
43
 
44
  def is_broken(self):
45
- return self == Status.BROKEN or self == Status.STOPPED or self == Status.CRASHED
46
 
47
 
48
  @dataclass
@@ -140,7 +141,7 @@ def fetch_wandb_data():
140
  for benchmark_key, benchmark_value in value.items():
141
  benchmarks.add(int(benchmark_key))
142
 
143
- status = Status.IN_PROGRESS
144
  run_state = run.state
145
  if run_state == "finished":
146
  status = Status.STOPPED
@@ -149,7 +150,10 @@ def fetch_wandb_data():
149
  elif completed:
150
  status = Status.DONE
151
  elif not submissions or (not average_benchmark_time and benchmarks):
152
- status = Status.BROKEN
 
 
 
153
 
154
  block = subtensor.get_current_block()
155
  data[uid] = State(
@@ -200,7 +204,7 @@ def get_data() -> gr.Dataframe:
200
  eta = int(state.average_benchmark_time * (state.submissions - (state.benchmarks + state.invalid)))
201
  time_left = timedelta(seconds=eta)
202
  eta_date = now + time_left
203
- eta_time = eta_date.strftime("%Y-%m-%d %I:%M:%S %p") if eta > 0 and state.status == Status.IN_PROGRESS else state.status.get_alt_time_text()
204
 
205
  average_time_text = f"{timedelta(seconds=int(state.average_benchmark_time))}" if state.average_benchmark_time else state.status.get_alt_time_text(),
206
 
@@ -215,7 +219,7 @@ def get_data() -> gr.Dataframe:
215
  state.invalid,
216
  f"<span style='color: {'orange' if state.average_benchmark_time > AVERAGE_BENCHMARK_TIME_WARNING_THRESHOLD else 'springgreen'}'>{average_time_text[0]}</span>",
217
  f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{eta_time}</span>",
218
- f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{time_left if eta > 0 and state.status == Status.IN_PROGRESS else state.status.get_alt_time_text()}</span>",
219
  f"<span style='color: {'springgreen' if state.vtrust > 0.75 else 'red'}'>{state.vtrust:.4f}</span>",
220
  f"<span style='color: {'springgreen' if state.updated < 1000 else 'red'}'>{state.updated}</span>",
221
  ))
 
26
 
27
 
28
  class Status(Enum):
29
+ BENCHMARKING = ("Benchmarking", "orange")
30
  DONE = ("Done", "springgreen")
31
  BROKEN = ("Broken", "red")
32
  STOPPED = ("Stopped", "red")
33
  CRASHED = ("Crashed", "red")
34
+ INITIALIZING = ("Initializing", "orange")
35
 
36
  def get_alt_time_text(self) -> str:
37
  return "∞" if self.is_broken() else "N/A"
 
43
  return self.value[1]
44
 
45
  def is_broken(self):
46
+ return self == Status.BROKEN or self == Status.STOPPED or self == Status.CRASHED or self == Status.INITIALIZING
47
 
48
 
49
  @dataclass
 
141
  for benchmark_key, benchmark_value in value.items():
142
  benchmarks.add(int(benchmark_key))
143
 
144
+ status = Status.BENCHMARKING
145
  run_state = run.state
146
  if run_state == "finished":
147
  status = Status.STOPPED
 
150
  elif completed:
151
  status = Status.DONE
152
  elif not submissions or (not average_benchmark_time and benchmarks):
153
+ if 12 <= now.hour < 13:
154
+ status = Status.INITIALIZING
155
+ else:
156
+ status = Status.BROKEN
157
 
158
  block = subtensor.get_current_block()
159
  data[uid] = State(
 
204
  eta = int(state.average_benchmark_time * (state.submissions - (state.benchmarks + state.invalid)))
205
  time_left = timedelta(seconds=eta)
206
  eta_date = now + time_left
207
+ eta_time = eta_date.strftime("%Y-%m-%d %I:%M:%S %p") if eta > 0 and state.status == Status.BENCHMARKING else state.status.get_alt_time_text()
208
 
209
  average_time_text = f"{timedelta(seconds=int(state.average_benchmark_time))}" if state.average_benchmark_time else state.status.get_alt_time_text(),
210
 
 
219
  state.invalid,
220
  f"<span style='color: {'orange' if state.average_benchmark_time > AVERAGE_BENCHMARK_TIME_WARNING_THRESHOLD else 'springgreen'}'>{average_time_text[0]}</span>",
221
  f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{eta_time}</span>",
222
+ f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{time_left if eta > 0 and state.status == Status.BENCHMARKING else state.status.get_alt_time_text()}</span>",
223
  f"<span style='color: {'springgreen' if state.vtrust > 0.75 else 'red'}'>{state.vtrust:.4f}</span>",
224
  f"<span style='color: {'springgreen' if state.updated < 1000 else 'red'}'>{state.updated}</span>",
225
  ))