patrickvonplaten commited on
Commit
0acccaf
1 Parent(s): 60896b3
Files changed (2) hide show
  1. app.py +39 -13
  2. data +0 -1
app.py CHANGED
@@ -1,9 +1,9 @@
1
- #import streamlit as st
2
-
3
  from huggingface_hub import HfApi
4
- import pandas
5
  import os
6
  import streamlit as st
 
 
7
  import datetime
8
  from transformers.models.auto.configuration_auto import CONFIG_MAPPING_NAMES
9
 
@@ -22,7 +22,7 @@ def retrieve_model_stats():
22
  all_stats = {}
23
  total_downloads = 0
24
 
25
- for model_name in list(CONFIG_MAPPING_NAMES.keys())[:2]:
26
  model_stats = {"num_downloads": 0, "%_of_all_downloads": 0, "num_models": 0, "download_per_model": 0}
27
  models = hf_api.list_models(filter=model_name)
28
 
@@ -35,15 +35,17 @@ def retrieve_model_stats():
35
  # save in overall dict
36
  all_stats[model_name] = model_stats
37
 
38
- for model_name in list(CONFIG_MAPPING_NAMES.keys())[:2]:
39
  all_stats[model_name]["%_of_all_downloads"] = round(all_stats[model_name]["num_downloads"] / total_downloads, 5) * 100 # noqa: E501
40
  downloads = all_stats[model_name]["num_downloads"]
41
  all_stats[model_name]["num_downloads"] = f"{downloads:,}"
42
 
43
  sorted_results = dict(reversed(sorted(all_stats.items(), key=lambda d: d[1]["%_of_all_downloads"])))
44
- dataframe = pandas.DataFrame.from_dict(sorted_results, orient="index")
45
 
46
- return dataframe.to_csv()
 
 
47
 
48
 
49
  repo = Repository(local_dir="data", clone_from=DATASET_REPO_URL)
@@ -60,10 +62,34 @@ if not os.path.isfile(DATA_FILE):
60
  print(commit_url)
61
 
62
  with open(DATA_FILE, "r") as f:
63
- dataframe = pandas.read_csv(DATA_FILE)
64
-
65
- print(DATA_FILE)
66
- print(dataframe)
67
-
68
- st.title(f'Transformers model downloads for year {year} and week {week}')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  st.table(dataframe)
 
 
 
1
  from huggingface_hub import HfApi
2
+ import pandas as pd
3
  import os
4
  import streamlit as st
5
+ import altair as alt
6
+ import numpy as np
7
  import datetime
8
  from transformers.models.auto.configuration_auto import CONFIG_MAPPING_NAMES
9
 
 
22
  all_stats = {}
23
  total_downloads = 0
24
 
25
+ for model_name in list(CONFIG_MAPPING_NAMES.keys()):
26
  model_stats = {"num_downloads": 0, "%_of_all_downloads": 0, "num_models": 0, "download_per_model": 0}
27
  models = hf_api.list_models(filter=model_name)
28
 
 
35
  # save in overall dict
36
  all_stats[model_name] = model_stats
37
 
38
+ for model_name in list(CONFIG_MAPPING_NAMES.keys()):
39
  all_stats[model_name]["%_of_all_downloads"] = round(all_stats[model_name]["num_downloads"] / total_downloads, 5) * 100 # noqa: E501
40
  downloads = all_stats[model_name]["num_downloads"]
41
  all_stats[model_name]["num_downloads"] = f"{downloads:,}"
42
 
43
  sorted_results = dict(reversed(sorted(all_stats.items(), key=lambda d: d[1]["%_of_all_downloads"])))
44
+ dataframe = pd.DataFrame.from_dict(sorted_results, orient="index")
45
 
46
+ # give header to model names
47
+ result = "model_names" + dataframe.to_csv()
48
+ return result
49
 
50
 
51
  repo = Repository(local_dir="data", clone_from=DATASET_REPO_URL)
 
62
  print(commit_url)
63
 
64
  with open(DATA_FILE, "r") as f:
65
+ dataframe = pd.read_csv(DATA_FILE)
66
+
67
+ int_downloads = np.array([int(x.replace(",", "")) for x in dataframe["num_downloads"].values])
68
+
69
+ # print top 20 downloads
70
+ source = pd.DataFrame({
71
+ 'Number of total downloads': int_downloads[:20],
72
+ 'Model architecture name': dataframe["model_names"].values[:20],
73
+ })
74
+ bar_chart = alt.Chart(source).mark_bar().encode(
75
+ y="Number of total downloads",
76
+ x=alt.X("Model architecture name", sort=None),
77
+ )
78
+ st.title(f'Top 20 downloads for year {year} and week {week}')
79
+ st.altair_chart(bar_chart, use_container_width=True)
80
+
81
+ # print bottom 20 downloads
82
+ source = pd.DataFrame({
83
+ 'Number of total downloads': int_downloads[-20:],
84
+ 'Model architecture name': dataframe["model_names"].values[-20:],
85
+ })
86
+ bar_chart = alt.Chart(source).mark_bar().encode(
87
+ y="Number of total downloads",
88
+ x=alt.X("Model architecture name", sort=None),
89
+ )
90
+ st.title(f'Bottom 20 downloads for year {year} and week {week}')
91
+ st.altair_chart(bar_chart, use_container_width=True)
92
+
93
+ # print all stats
94
+ st.title(f'All downloads for year {year} and week {week}')
95
  st.table(dataframe)
data DELETED
@@ -1 +0,0 @@
1
- Subproject commit bd0b98ff44210308e4a142bd71bd805fbd330f34