patrickvonplaten commited on
Commit
75abe88
1 Parent(s): f37ea1e
Files changed (3) hide show
  1. app.py +53 -23
  2. data +1 -0
  3. requirements.txt +1 -0
app.py CHANGED
@@ -1,38 +1,68 @@
1
- import streamlit as st
2
 
3
  from huggingface_hub import HfApi
4
  import pandas
 
 
 
5
  from transformers.models.auto.configuration_auto import CONFIG_MAPPING_NAMES
6
 
7
- hf_api = HfApi()
8
- all_stats = {}
9
- total_downloads = 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- for model_name in list(CONFIG_MAPPING_NAMES.keys())[:2]:
12
- model_stats = {"num_downloads": 0, "%_of_all_downloads": 0, "num_models": 0, "download_per_model": 0}
13
- models = hf_api.list_models(filter=model_name)
14
 
15
- model_stats["num_models"] = len(models)
16
- model_stats["num_downloads"] = sum([m.downloads for m in models if hasattr(m, "downloads")])
17
- if len(models) > 0:
18
- model_stats["download_per_model"] = round(model_stats["num_downloads"] / len(models), 2)
19
- total_downloads += model_stats["num_downloads"]
20
 
21
- # save in overall dict
22
- all_stats[model_name] = model_stats
23
 
 
 
 
24
 
25
- for model_name in list(CONFIG_MAPPING_NAMES.keys())[:2]:
26
- all_stats[model_name]["%_of_all_downloads"] = round(all_stats[model_name]["num_downloads"] / total_downloads, 5) * 100 # noqa: E501
27
- downloads = all_stats[model_name]["num_downloads"]
28
- all_stats[model_name]["num_downloads"] = f"{downloads:,}"
29
 
 
 
30
 
31
- sorted_results = dict(reversed(sorted(all_stats.items(), key=lambda d: d[1]["%_of_all_downloads"])))
32
- dataframe = pandas.DataFrame.from_dict(sorted_results, orient="index")
33
- result = dataframe.to_string()
34
 
35
- with open("result.txt", "w") as f:
36
- f.write(result)
37
 
38
  st.table(dataframe)
 
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
 
10
+ from huggingface_hub import Repository
11
+
12
+ today = datetime.date.today()
13
+ year, week, _ = today.isocalendar()
14
+
15
+ DATASET_REPO_URL = "https://huggingface.co/datasets/patrickvonplaten/model-archs-downloads-space-data"
16
+ DATA_FILENAME = f"data_{week}_{year}.csv"
17
+ DATA_FILE = os.path.join("data", DATA_FILENAME)
18
+
19
+
20
+ def retrieve_model_stats():
21
+ hf_api = HfApi()
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
+
29
+ model_stats["num_models"] = len(models)
30
+ model_stats["num_downloads"] = sum([m.downloads for m in models if hasattr(m, "downloads")])
31
+ if len(models) > 0:
32
+ model_stats["download_per_model"] = round(model_stats["num_downloads"] / len(models), 2)
33
+ total_downloads += model_stats["num_downloads"]
34
+
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)
 
50
 
51
+ if not os.path.isfile(DATA_FILE):
52
+ print("Create datafile...")
53
+ result = retrieve_model_stats()
54
 
55
+ if not os.path.isfile(DATA_FILE):
56
+ with open(DATA_FILE, "w") as f:
57
+ f.write(result)
 
58
 
59
+ commit_url = repo.push_to_hub()
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.table(dataframe)
data ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit bd0b98ff44210308e4a142bd71bd805fbd330f34
requirements.txt CHANGED
@@ -1 +1,2 @@
1
  transformers
 
 
1
  transformers
2
+ huggingface_hub