rjzevallos commited on
Commit
98eaa14
verified
1 Parent(s): df2d876

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -28
app.py CHANGED
@@ -1,8 +1,4 @@
1
  import gradio as gr
2
- import random
3
- from pathlib import Path
4
- import time
5
- import threading
6
 
7
  LAST_UPDATED = "Nov 22th 2024"
8
 
@@ -22,32 +18,17 @@ leaderboard_data = [
22
 
23
  def get_leaderboard():
24
  """
25
- Retorna el leaderboard en orden descendente por votos positivos.
26
  """
27
- return sorted(leaderboard_data, key=lambda x: x['PESQ'], reverse=True)
28
-
29
- def update_leaderboard():
30
- """
31
- Actualiza la tabla del leaderboard.
32
- """
33
- filtered_leaderboard = get_leaderboard()
34
 
35
- # Ordenar por 'score' y asignar el rank din谩micamente
36
- sorted_leaderboard = sorted(filtered_leaderboard, key=lambda x: x['UTMOS'], reverse=True)
37
-
38
- # Asignar el rank basado en el orden por score
39
  for rank, model in enumerate(sorted_leaderboard):
40
  model['rank'] = rank + 1 # rank es la posici贸n en la lista (1-indexed)
41
 
42
  return [[model['rank'], model['name'], model['UTMOS'], model['WER'], model['STOI'], model['PESQ']] for model in sorted_leaderboard]
43
 
44
- # Funci贸n para actualizar la tabla peri贸dicamente
45
- def auto_update_table(leaderboard_table):
46
- while True:
47
- # Actualizar cada 10 segundos
48
- leaderboard_table.update(value=update_leaderboard())
49
- time.sleep(10) # Esperar 10 segundos antes de actualizar de nuevo
50
-
51
  ####################################
52
  # Interfaz con Gradio
53
  ####################################
@@ -59,12 +40,14 @@ theme = gr.themes.Base(
59
  with gr.Blocks(theme=theme) as demo:
60
  gr.Markdown("# 馃弳 Leaderboard\nVote to help the community determine the best Catalan TTS models.\n")
61
 
62
- # Inicializa la tabla sin datos, solo con encabezados
63
- leaderboard_table = gr.DataFrame(headers=["Rank", "Model", "UTMOS", "WER", "STOI", "PESQ"],
64
- datatype=["str", "str", "str", "str", "str", "str"], value=[])
 
 
 
65
 
66
- # Iniciar un hilo para actualizar la tabla autom谩ticamente
67
- threading.Thread(target=auto_update_table, args=(leaderboard_table,), daemon=True).start()
68
 
69
  # Lanzar la aplicaci贸n
70
  demo.queue(api_open=False, default_concurrency_limit=40).launch(show_api=False)
 
1
  import gradio as gr
 
 
 
 
2
 
3
  LAST_UPDATED = "Nov 22th 2024"
4
 
 
18
 
19
  def get_leaderboard():
20
  """
21
+ Retorna el leaderboard en orden descendente por PESQ y luego por UTMOS.
22
  """
23
+ # Ordenar primero por PESQ (calidad del habla) y luego por UTMOS (calidad percibida)
24
+ sorted_leaderboard = sorted(leaderboard_data, key=lambda x: (x['PESQ'], x['UTMOS']), reverse=True)
 
 
 
 
 
25
 
26
+ # Asignar el rank basado en el orden por PESQ
 
 
 
27
  for rank, model in enumerate(sorted_leaderboard):
28
  model['rank'] = rank + 1 # rank es la posici贸n en la lista (1-indexed)
29
 
30
  return [[model['rank'], model['name'], model['UTMOS'], model['WER'], model['STOI'], model['PESQ']] for model in sorted_leaderboard]
31
 
 
 
 
 
 
 
 
32
  ####################################
33
  # Interfaz con Gradio
34
  ####################################
 
40
  with gr.Blocks(theme=theme) as demo:
41
  gr.Markdown("# 馃弳 Leaderboard\nVote to help the community determine the best Catalan TTS models.\n")
42
 
43
+ # Inicializa la tabla con los datos directamente al iniciar
44
+ leaderboard_table = gr.DataFrame(
45
+ headers=["Rank", "Model", "UTMOS", "WER", "STOI", "PESQ"],
46
+ datatype=["str", "str", "str", "str", "str", "str"],
47
+ value=get_leaderboard() # Carga los datos iniciales de la tabla
48
+ )
49
 
50
+ # No es necesario usar hilos o actualizaci贸n autom谩tica aqu铆
 
51
 
52
  # Lanzar la aplicaci贸n
53
  demo.queue(api_open=False, default_concurrency_limit=40).launch(show_api=False)