ror HF Staff commited on
Commit
66b7161
·
1 Parent(s): 29b7ec1

pretty good

Browse files
Files changed (6) hide show
  1. app.py +23 -99
  2. data.py +0 -227
  3. sample_amd.json +0 -1839
  4. sample_nvidia.json +0 -1475
  5. styles.css +17 -0
  6. summary_page.py +0 -208
app.py CHANGED
@@ -2,10 +2,9 @@ import matplotlib.pyplot as plt
2
  import matplotlib
3
  import pandas as pd
4
  import gradio as gr
 
5
 
6
- from data import CIResults
7
  from utils import logger
8
- from summary_page import create_summary_page
9
 
10
 
11
  # Configure matplotlib to prevent memory warnings and set dark background
@@ -15,27 +14,26 @@ matplotlib.rcParams['savefig.facecolor'] = '#000000'
15
  plt.ioff() # Turn off interactive mode to prevent figure accumulation
16
 
17
 
18
- # Load data once at startup
19
- Ci_results = CIResults()
20
- Ci_results.load_data()
21
- # Start the auto-reload scheduler
22
- Ci_results.schedule_data_reload()
 
 
23
 
24
 
25
  # Function to get current description text
26
  def get_description_text():
27
- """Get description text with integrated last update time."""
28
  msg = [
29
- "Transformer CI Dashboard",
30
  "-",
31
- "AMD runs on MI325",
32
- "NVIDIA runs on A10",
33
  ]
34
  msg = ["**" + x + "**" for x in msg] + [""]
35
- if Ci_results.latest_update_msg:
36
- msg.append(f"*This dashboard only tracks important models*<br>*({Ci_results.latest_update_msg})*")
37
- else:
38
- msg.append("*This dashboard only tracks important models*<br>*(loading...)*")
39
  return "<br>".join(msg)
40
 
41
  # Load CSS from external file
@@ -71,17 +69,12 @@ with gr.Blocks(title="Model Test Results Dashboard", css=load_css(), fill_height
71
  elem_classes=["summary-button"]
72
  )
73
 
74
- # CI job links at bottom of sidebar
75
- ci_links_display = gr.Markdown("🔗 **CI Jobs:** *Loading...*", elem_classes=["sidebar-links"])
76
 
77
  # Main content area
78
  with gr.Column(elem_classes=["main-content"]):
79
  # Summary display (default view)
80
  summary_display = gr.ScatterPlot(
81
- pd.DataFrame({
82
- "x": [i for i in range(10)] + [100, -100],
83
- "y": [i ** 2 for i in range(10)] + [100, -100],
84
- }),
85
  x = "x",
86
  y = "y",
87
  height="100vh",
@@ -93,89 +86,20 @@ with gr.Blocks(title="Model Test Results Dashboard", css=load_css(), fill_height
93
 
94
 
95
  # Summary button click handler
96
- def show_summary_and_update_links():
97
- """Show summary page and update CI links."""
98
- return create_summary_page(Ci_results.df, Ci_results.available_models), get_description_text(), get_ci_links()
 
99
 
100
  summary_button.click(
101
- fn=show_summary_and_update_links,
102
- outputs=[summary_display, description_display, ci_links_display]
103
  )
104
 
105
- # Function to get CI job links
106
- def get_ci_links():
107
- """Get CI job links from the most recent data."""
108
- try:
109
- # Check if df exists and is not empty
110
- if Ci_results.df is None or Ci_results.df.empty:
111
- return "🔗 **CI Jobs:** *Loading...*"
112
-
113
- # Get links from any available model (they should be the same for all models in a run)
114
- amd_multi_link = None
115
- amd_single_link = None
116
- nvidia_multi_link = None
117
- nvidia_single_link = None
118
-
119
- for model_name in Ci_results.df.index:
120
- row = Ci_results.df.loc[model_name]
121
-
122
- # Extract AMD links
123
- if pd.notna(row.get('job_link_amd')) and (not amd_multi_link or not amd_single_link):
124
- amd_link_raw = row.get('job_link_amd')
125
- if isinstance(amd_link_raw, dict):
126
- if 'multi' in amd_link_raw and not amd_multi_link:
127
- amd_multi_link = amd_link_raw['multi']
128
- if 'single' in amd_link_raw and not amd_single_link:
129
- amd_single_link = amd_link_raw['single']
130
-
131
- # Extract NVIDIA links
132
- if pd.notna(row.get('job_link_nvidia')) and (not nvidia_multi_link or not nvidia_single_link):
133
- nvidia_link_raw = row.get('job_link_nvidia')
134
- if isinstance(nvidia_link_raw, dict):
135
- if 'multi' in nvidia_link_raw and not nvidia_multi_link:
136
- nvidia_multi_link = nvidia_link_raw['multi']
137
- if 'single' in nvidia_link_raw and not nvidia_single_link:
138
- nvidia_single_link = nvidia_link_raw['single']
139
-
140
- # Break if we have all links
141
- if amd_multi_link and amd_single_link and nvidia_multi_link and nvidia_single_link:
142
- break
143
-
144
-
145
- # Add FAQ link at the bottom
146
- links_md = "❓ [**FAQ**](https://huggingface.co/spaces/transformers-community/transformers-ci-dashboard/blob/main/README.md)\n\n"
147
- links_md += "🔗 **CI Jobs:**\n\n"
148
-
149
- # AMD links
150
- if amd_multi_link or amd_single_link:
151
- links_md += "**AMD:**\n"
152
- if amd_multi_link:
153
- links_md += f"• [Multi GPU]({amd_multi_link})\n"
154
- if amd_single_link:
155
- links_md += f"• [Single GPU]({amd_single_link})\n"
156
- links_md += "\n"
157
-
158
- # NVIDIA links
159
- if nvidia_multi_link or nvidia_single_link:
160
- links_md += "**NVIDIA:**\n"
161
- if nvidia_multi_link:
162
- links_md += f"• [Multi GPU]({nvidia_multi_link})\n"
163
- if nvidia_single_link:
164
- links_md += f"• [Single GPU]({nvidia_single_link})\n"
165
-
166
- if not (amd_multi_link or amd_single_link or nvidia_multi_link or nvidia_single_link):
167
- links_md += "*No links available*"
168
-
169
- return links_md
170
- except Exception as e:
171
- logger.error(f"getting CI links: {e}")
172
- return "🔗 **CI Jobs:** *Error loading links*\n\n❓ **[FAQ](README.md)**"
173
-
174
-
175
- # Auto-update CI links when the interface loads
176
  demo.load(
177
- fn=get_ci_links,
178
- outputs=[ci_links_display]
179
  )
180
 
181
 
 
2
  import matplotlib
3
  import pandas as pd
4
  import gradio as gr
5
+ import random
6
 
 
7
  from utils import logger
 
8
 
9
 
10
  # Configure matplotlib to prevent memory warnings and set dark background
 
14
  plt.ioff() # Turn off interactive mode to prevent figure accumulation
15
 
16
 
17
+ # Function to generate random data for the plot
18
+ def generate_random_data():
19
+ """Generate random data points for the scatter plot."""
20
+ n_points = random.randint(20, 50) # Random number of points
21
+ x_data = [random.uniform(-100, 100) for _ in range(n_points)]
22
+ y_data = [random.uniform(-100, 100) for _ in range(n_points)]
23
+ return pd.DataFrame({"x": x_data, "y": y_data})
24
 
25
 
26
  # Function to get current description text
27
  def get_description_text():
28
+ """Get description text."""
29
  msg = [
30
+ "Random Data Dashboard",
31
  "-",
32
+ "Click summary to refresh data",
33
+ "Demo visualization",
34
  ]
35
  msg = ["**" + x + "**" for x in msg] + [""]
36
+ msg.append("*Random scatter plot data*<br>*Updated on each click*")
 
 
 
37
  return "<br>".join(msg)
38
 
39
  # Load CSS from external file
 
69
  elem_classes=["summary-button"]
70
  )
71
 
 
 
72
 
73
  # Main content area
74
  with gr.Column(elem_classes=["main-content"]):
75
  # Summary display (default view)
76
  summary_display = gr.ScatterPlot(
77
+ generate_random_data(),
 
 
 
78
  x = "x",
79
  y = "y",
80
  height="100vh",
 
86
 
87
 
88
  # Summary button click handler
89
+ def refresh_plot_data():
90
+ """Generate new random data for the plot."""
91
+ new_data = generate_random_data()
92
+ return new_data, get_description_text()
93
 
94
  summary_button.click(
95
+ fn=refresh_plot_data,
96
+ outputs=[summary_display, description_display]
97
  )
98
 
99
+ # Auto-update description when the interface loads
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  demo.load(
101
+ fn=get_description_text,
102
+ outputs=[description_display]
103
  )
104
 
105
 
data.py DELETED
@@ -1,227 +0,0 @@
1
- from huggingface_hub import HfFileSystem
2
- import pandas as pd
3
- from utils import logger
4
- import threading
5
- import traceback
6
- import json
7
- import re
8
-
9
- # NOTE: if caching is an issue, try adding `use_listings_cache=False`
10
- fs = HfFileSystem()
11
-
12
- IMPORTANT_MODELS = [
13
- "auto",
14
- "bert", # old but dominant (encoder only)
15
- "gpt2", # old (decoder)
16
- "t5", # old (encoder-decoder)
17
- "modernbert", # (encoder only)
18
- "vit", # old (vision) - fixed comma
19
- "clip", # old but dominant (vision)
20
- "detr", # objection detection, segmentation (vision)
21
- "table_transformer", # objection detection (visioin) - maybe just detr?
22
- "got_ocr2", # ocr (vision)
23
- "whisper", # old but dominant (audio)
24
- "wav2vec2", # old (audio)
25
- "qwen2_audio", # (audio)
26
- "speech_t5", # (audio)
27
- "csm", # (audio)
28
- "llama", # new and dominant (meta)
29
- "gemma3", # new (google)
30
- "qwen2", # new (Alibaba)
31
- "mistral3", # new (Mistral) - added missing comma
32
- "qwen2_5_vl", # new (vision)
33
- "llava", # many models from it (vision)
34
- "smolvlm", # new (video)
35
- "internvl", # new (video)
36
- "gemma3n", # new (omnimodal models)
37
- "qwen2_5_omni", # new (omnimodal models)
38
- # "gpt_oss", # new (quite used)
39
- "qwen2_5_omni", # new (omnimodal models)
40
- ]
41
-
42
- KEYS_TO_KEEP = [
43
- "success_amd",
44
- "success_nvidia",
45
- "skipped_amd",
46
- "skipped_nvidia",
47
- "failed_multi_no_amd",
48
- "failed_multi_no_nvidia",
49
- "failed_single_no_amd",
50
- "failed_single_no_nvidia",
51
- "failures_amd",
52
- "failures_nvidia",
53
- "job_link_amd",
54
- "job_link_nvidia",
55
- ]
56
-
57
-
58
- def log_dataframe_link(link: str) -> str:
59
- """
60
- Adds the link to the dataset in the logs, modifies it to get a clockable link and then returns the date of the
61
- report.
62
- """
63
- logger.info(f"Reading df located at {link}")
64
- # Make sure the links starts with an http adress
65
- if link.startswith("hf://"):
66
- link = "https://huggingface.co/" + link.removeprefix("hf://")
67
- # Pattern to match transformers_daily_ci followed by any path, then a date (YYYY-MM-DD format)
68
- pattern = r'transformers_daily_ci(.*?)/(\d{4}-\d{2}-\d{2})'
69
- match = re.search(pattern, link)
70
- # Failure case:
71
- if not match:
72
- logger.error("Could not find transformers_daily_ci and.or date in the link")
73
- return "9999-99-99"
74
- # Replace the path between with blob/main
75
- path_between = match.group(1)
76
- link = link.replace("transformers_daily_ci" + path_between, "transformers_daily_ci/blob/main")
77
- logger.info(f"Link to data source: {link}")
78
- # Return the date
79
- return match.group(2)
80
-
81
- def infer_latest_update_msg(date_df_amd: str, date_df_nvidia: str) -> str:
82
- # Early return if one of the dates is invalid
83
- if date_df_amd.startswith("9999") and date_df_nvidia.startswith("9999"):
84
- return "could not find last update time"
85
- # Warn if dates are not the same
86
- if date_df_amd != date_df_nvidia:
87
- logger.warning(f"Different dates found: {date_df_amd} (AMD) vs {date_df_nvidia} (NVIDIA)")
88
- # Take the latest date and format it
89
- try:
90
- latest_date = max(date_df_amd, date_df_nvidia)
91
- yyyy, mm, dd = latest_date.split("-")
92
- return f"last updated {mm}/{dd}/{yyyy}"
93
- except Exception as e:
94
- logger.error(f"When trying to infer latest date, got error {e}")
95
- return "could not find last update time"
96
-
97
- def read_one_dataframe(json_path: str, device_label: str) -> tuple[pd.DataFrame, str]:
98
- df_upload_date = log_dataframe_link(json_path)
99
- df = pd.read_json(json_path, orient="index")
100
- df.index.name = "model_name"
101
- df[f"failed_multi_no_{device_label}"] = df["failures"].apply(lambda x: len(x["multi"]) if "multi" in x else 0)
102
- df[f"failed_single_no_{device_label}"] = df["failures"].apply(lambda x: len(x["single"]) if "single" in x else 0)
103
- return df, df_upload_date
104
-
105
- def get_first_working_df(file_list: list[str]) -> str:
106
- for file in file_list:
107
- job_links = file.rsplit('/', 1)[0] + "/job_links.json"
108
- try:
109
- links = pd.read_json(f"hf://{job_links}", typ="series")
110
- has_one_working_link = any(links.values)
111
- except Exception as e:
112
- logger.error(f"Could not read job links from {job_links}: {e}")
113
- has_one_working_link = False
114
- if has_one_working_link:
115
- return file
116
- logger.warning(f"Skipping {file} as it has no working job links.")
117
- raise RuntimeError("Could not find any working dataframe in the provided list.")
118
-
119
-
120
- def get_sample_data() -> tuple[pd.DataFrame, str]:
121
- # Retrieve sample dataframes
122
- df_amd, _ = read_one_dataframe("sample_amd.json", "amd")
123
- df_nvidia, _ = read_one_dataframe("sample_nvidia.json", "nvidia")
124
- # Join both dataframes
125
- joined = df_amd.join(df_nvidia, rsuffix="_nvidia", lsuffix="_amd", how="outer")
126
- joined = joined[KEYS_TO_KEEP]
127
- joined.index = joined.index.str.replace("^models_", "", regex=True)
128
- # Fitler out all but important models
129
- important_models_lower = [model.lower() for model in IMPORTANT_MODELS]
130
- filtered_joined = joined[joined.index.str.lower().isin(important_models_lower)]
131
- # Prefix all model names with "sample_"
132
- filtered_joined.index = "sample_" + filtered_joined.index
133
- return filtered_joined, "sample data was loaded"
134
-
135
- def safe_extract(row: pd.DataFrame, key: str) -> int:
136
- return int(row.get(key, 0)) if pd.notna(row.get(key, 0)) else 0
137
-
138
- def extract_model_data(row: pd.Series) -> tuple[dict[str, int], dict[str, int], int, int, int, int]:
139
- """Extract and process model data from DataFrame row."""
140
- # Handle missing values and get counts directly from dataframe
141
- success_nvidia = safe_extract(row, "success_nvidia")
142
- success_amd = safe_extract(row, "success_amd")
143
-
144
- skipped_nvidia = safe_extract(row, "skipped_nvidia")
145
- skipped_amd = safe_extract(row, "skipped_amd")
146
-
147
- failed_multi_amd = safe_extract(row, 'failed_multi_no_amd')
148
- failed_multi_nvidia = safe_extract(row, 'failed_multi_no_nvidia')
149
- failed_single_amd = safe_extract(row, 'failed_single_no_amd')
150
- failed_single_nvidia = safe_extract(row, 'failed_single_no_nvidia')
151
- # Calculate total failures
152
- total_failed_amd = failed_multi_amd + failed_single_amd
153
- total_failed_nvidia = failed_multi_nvidia + failed_single_nvidia
154
- # Create stats dictionaries directly from dataframe values
155
- amd_stats = {
156
- 'passed': success_amd,
157
- 'failed': total_failed_amd,
158
- 'skipped': skipped_amd,
159
- 'error': 0 # Not available in this dataset
160
- }
161
- nvidia_stats = {
162
- 'passed': success_nvidia,
163
- 'failed': total_failed_nvidia,
164
- 'skipped': skipped_nvidia,
165
- 'error': 0 # Not available in this dataset
166
- }
167
- return amd_stats, nvidia_stats, failed_multi_amd, failed_single_amd, failed_multi_nvidia, failed_single_nvidia
168
-
169
-
170
-
171
- class CIResults:
172
-
173
- def __init__(self):
174
- self.df = pd.DataFrame()
175
- self.available_models = []
176
- self.latest_update_msg = ""
177
-
178
- def load_data(self) -> None:
179
- """Load data from the data source."""
180
- # Try loading the distant data, and fall back on sample data for local tinkering
181
-
182
- error_msg = [
183
- "Loading data failed:",
184
- "-" * 120,
185
- traceback.format_exc(),
186
- "-" * 120,
187
- "Falling back on sample data."
188
- ]
189
- logger.error("\n".join(error_msg))
190
- new_df, latest_update_msg = get_sample_data()
191
- self.latest_update_msg = latest_update_msg
192
-
193
- # Update attributes
194
- self.df = new_df
195
- self.available_models = new_df.index.tolist()
196
- # Log and return distant load status
197
- logger.info(f"Data loaded successfully: {len(self.available_models)} models")
198
- logger.info(f"Models: {self.available_models[:5]}{'...' if len(self.available_models) > 5 else ''}")
199
- logger.info(f"Latest update message: {self.latest_update_msg}")
200
- # Log a preview of the df
201
- msg = {}
202
- for model in self.available_models[:3]:
203
- msg[model] = {}
204
- for col in self.df.columns:
205
- value = self.df.loc[model, col]
206
- if not isinstance(value, int):
207
- value = str(value)
208
- if len(value) > 10:
209
- value = value[:10] + "..."
210
- msg[model][col] = value
211
- logger.info(json.dumps(msg, indent=4))
212
-
213
- def schedule_data_reload(self):
214
- """Schedule the next data reload."""
215
- def reload_data():
216
- self.load_data()
217
- # Schedule the next reload in 15 minutes (900 seconds)
218
- timer = threading.Timer(900.0, reload_data)
219
- timer.daemon = True # Dies when main thread dies
220
- timer.start()
221
- logger.info("Next data reload scheduled in 15 minutes")
222
-
223
- # Start the first reload timer
224
- timer = threading.Timer(900.0, reload_data)
225
- timer.daemon = True
226
- timer.start()
227
- logger.info("Data auto-reload scheduled every 15 minutes")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sample_amd.json DELETED
@@ -1,1839 +0,0 @@
1
- {
2
- "models_auto": {
3
- "failed": {
4
- "PyTorch": {
5
- "unclassified": 0,
6
- "single": 0,
7
- "multi": 0
8
- },
9
- "TensorFlow": {
10
- "unclassified": 0,
11
- "single": 0,
12
- "multi": 0
13
- },
14
- "Flax": {
15
- "unclassified": 0,
16
- "single": 0,
17
- "multi": 0
18
- },
19
- "Tokenizers": {
20
- "unclassified": 0,
21
- "single": 0,
22
- "multi": 0
23
- },
24
- "Pipelines": {
25
- "unclassified": 0,
26
- "single": 0,
27
- "multi": 0
28
- },
29
- "Trainer": {
30
- "unclassified": 0,
31
- "single": 0,
32
- "multi": 0
33
- },
34
- "ONNX": {
35
- "unclassified": 0,
36
- "single": 0,
37
- "multi": 0
38
- },
39
- "Auto": {
40
- "unclassified": 0,
41
- "single": 0,
42
- "multi": 0
43
- },
44
- "Quantization": {
45
- "unclassified": 0,
46
- "single": 0,
47
- "multi": 0
48
- },
49
- "Unclassified": {
50
- "unclassified": 0,
51
- "single": 0,
52
- "multi": 0
53
- }
54
- },
55
- "errors": 0,
56
- "success": 80,
57
- "skipped": 2,
58
- "time_spent": "0.99, 2.41, ",
59
- "failures": {},
60
- "job_link": {
61
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329937",
62
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330183"
63
- }
64
- },
65
- "models_bert": {
66
- "failed": {
67
- "PyTorch": {
68
- "unclassified": 0,
69
- "single": 0,
70
- "multi": 0
71
- },
72
- "TensorFlow": {
73
- "unclassified": 0,
74
- "single": 0,
75
- "multi": 0
76
- },
77
- "Flax": {
78
- "unclassified": 0,
79
- "single": 0,
80
- "multi": 0
81
- },
82
- "Tokenizers": {
83
- "unclassified": 0,
84
- "single": 0,
85
- "multi": 0
86
- },
87
- "Pipelines": {
88
- "unclassified": 0,
89
- "single": 0,
90
- "multi": 0
91
- },
92
- "Trainer": {
93
- "unclassified": 0,
94
- "single": 0,
95
- "multi": 0
96
- },
97
- "ONNX": {
98
- "unclassified": 0,
99
- "single": 0,
100
- "multi": 0
101
- },
102
- "Auto": {
103
- "unclassified": 0,
104
- "single": 0,
105
- "multi": 0
106
- },
107
- "Quantization": {
108
- "unclassified": 0,
109
- "single": 0,
110
- "multi": 0
111
- },
112
- "Unclassified": {
113
- "unclassified": 0,
114
- "single": 0,
115
- "multi": 0
116
- }
117
- },
118
- "errors": 0,
119
- "success": 239,
120
- "skipped": 111,
121
- "time_spent": "8.85, 0:01:00, ",
122
- "failures": {},
123
- "job_link": {
124
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329946",
125
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330199"
126
- }
127
- },
128
- "models_clip": {
129
- "failed": {
130
- "PyTorch": {
131
- "unclassified": 0,
132
- "single": 0,
133
- "multi": 0
134
- },
135
- "TensorFlow": {
136
- "unclassified": 0,
137
- "single": 0,
138
- "multi": 0
139
- },
140
- "Flax": {
141
- "unclassified": 0,
142
- "single": 0,
143
- "multi": 0
144
- },
145
- "Tokenizers": {
146
- "unclassified": 0,
147
- "single": 0,
148
- "multi": 0
149
- },
150
- "Pipelines": {
151
- "unclassified": 0,
152
- "single": 0,
153
- "multi": 0
154
- },
155
- "Trainer": {
156
- "unclassified": 0,
157
- "single": 0,
158
- "multi": 0
159
- },
160
- "ONNX": {
161
- "unclassified": 0,
162
- "single": 0,
163
- "multi": 0
164
- },
165
- "Auto": {
166
- "unclassified": 0,
167
- "single": 0,
168
- "multi": 0
169
- },
170
- "Quantization": {
171
- "unclassified": 0,
172
- "single": 0,
173
- "multi": 0
174
- },
175
- "Unclassified": {
176
- "unclassified": 0,
177
- "single": 0,
178
- "multi": 0
179
- }
180
- },
181
- "errors": 0,
182
- "success": 288,
183
- "skipped": 590,
184
- "time_spent": "0:01:55, 0:01:58, ",
185
- "failures": {},
186
- "job_link": {
187
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330217",
188
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329991"
189
- }
190
- },
191
- "models_detr": {
192
- "failed": {
193
- "PyTorch": {
194
- "unclassified": 0,
195
- "single": 0,
196
- "multi": 0
197
- },
198
- "TensorFlow": {
199
- "unclassified": 0,
200
- "single": 0,
201
- "multi": 0
202
- },
203
- "Flax": {
204
- "unclassified": 0,
205
- "single": 0,
206
- "multi": 0
207
- },
208
- "Tokenizers": {
209
- "unclassified": 0,
210
- "single": 0,
211
- "multi": 0
212
- },
213
- "Pipelines": {
214
- "unclassified": 0,
215
- "single": 0,
216
- "multi": 0
217
- },
218
- "Trainer": {
219
- "unclassified": 0,
220
- "single": 0,
221
- "multi": 0
222
- },
223
- "ONNX": {
224
- "unclassified": 0,
225
- "single": 0,
226
- "multi": 0
227
- },
228
- "Auto": {
229
- "unclassified": 0,
230
- "single": 0,
231
- "multi": 0
232
- },
233
- "Quantization": {
234
- "unclassified": 0,
235
- "single": 0,
236
- "multi": 0
237
- },
238
- "Unclassified": {
239
- "unclassified": 0,
240
- "single": 0,
241
- "multi": 0
242
- }
243
- },
244
- "errors": 0,
245
- "success": 77,
246
- "skipped": 159,
247
- "time_spent": "4.40, 6.77, ",
248
- "failures": {},
249
- "job_link": {
250
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330035",
251
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330267"
252
- }
253
- },
254
- "models_gemma3": {
255
- "failed": {
256
- "PyTorch": {
257
- "unclassified": 0,
258
- "single": 6,
259
- "multi": 7
260
- },
261
- "TensorFlow": {
262
- "unclassified": 0,
263
- "single": 0,
264
- "multi": 0
265
- },
266
- "Flax": {
267
- "unclassified": 0,
268
- "single": 0,
269
- "multi": 0
270
- },
271
- "Tokenizers": {
272
- "unclassified": 0,
273
- "single": 0,
274
- "multi": 0
275
- },
276
- "Pipelines": {
277
- "unclassified": 0,
278
- "single": 0,
279
- "multi": 0
280
- },
281
- "Trainer": {
282
- "unclassified": 0,
283
- "single": 0,
284
- "multi": 0
285
- },
286
- "ONNX": {
287
- "unclassified": 0,
288
- "single": 0,
289
- "multi": 0
290
- },
291
- "Auto": {
292
- "unclassified": 0,
293
- "single": 0,
294
- "multi": 0
295
- },
296
- "Quantization": {
297
- "unclassified": 0,
298
- "single": 0,
299
- "multi": 0
300
- },
301
- "Unclassified": {
302
- "unclassified": 0,
303
- "single": 0,
304
- "multi": 0
305
- }
306
- },
307
- "errors": 0,
308
- "success": 349,
309
- "skipped": 260,
310
- "time_spent": "0:11:14, 0:11:08, ",
311
- "failures": {
312
- "single": [
313
- {
314
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_1b_text_only",
315
- "trace": "(line 715) AssertionError: Lists differ: ['Wri[57 chars]s, a silent stream,\\nInto the neural net, a wa[42 chars],\\n'] != ['Wri[57 chars]s, a river deep,\\nWith patterns hidden, secret[46 chars]ing']"
316
- },
317
- {
318
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_batch",
319
- "trace": "(line 715) AssertionError: Lists differ: ['use[114 chars]rown cow standing on a sandy beach with clear [264 chars]cow\"] != ['use[114 chars]rown and white cow standing on a sandy beach n[272 chars]ach']"
320
- },
321
- {
322
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_batch_crops",
323
- "trace": "(line 715) AssertionError: Lists differ: [\"user\\nYou are a helpful assistant.\\n\\nHe[678 chars]h a'] != ['user\\nYou are a helpful assistant.\\n\\nHe[658 chars]h a']"
324
- },
325
- {
326
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_bf16",
327
- "trace": "(line 715) AssertionError: Lists differ: ['use[114 chars]rown cow standing on a sandy beach with clear [55 chars]ike'] != ['use[114 chars]rown and white cow standing on a sandy beach w[68 chars]oks']"
328
- },
329
- {
330
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_crops",
331
- "trace": "(line 715) AssertionError: Lists differ: [\"use[251 chars]. There's a blue sky with some white clouds in the background\"] != [\"use[251 chars]. There's a bright blue sky with some white clouds in the\"]"
332
- },
333
- {
334
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_multiimage",
335
- "trace": "(line 715) AssertionError: Lists differ: [\"use[122 chars]n\\n**Main Features:**\\n\\n* **Chinese Archway[19 chars]ent\"] != [\"use[122 chars]n\\n**Overall Scene:**\\n\\nIt looks like a stree[18 chars]nt,\"]"
336
- }
337
- ],
338
- "multi": [
339
- {
340
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3Vision2TextModelTest::test_model_parallelism",
341
- "trace": "(line 925) RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0!"
342
- },
343
- {
344
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_1b_text_only",
345
- "trace": "(line 715) AssertionError: Lists differ: ['Wri[57 chars]s, a silent stream,\\nInto the neural net, a wa[42 chars],\\n'] != ['Wri[57 chars]s, a river deep,\\nWith patterns hidden, secret[46 chars]ing']"
346
- },
347
- {
348
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_batch",
349
- "trace": "(line 715) AssertionError: Lists differ: ['use[114 chars]rown cow standing on a sandy beach with clear [264 chars]cow\"] != ['use[114 chars]rown and white cow standing on a sandy beach n[272 chars]ach']"
350
- },
351
- {
352
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_batch_crops",
353
- "trace": "(line 715) AssertionError: Lists differ: [\"user\\nYou are a helpful assistant.\\n\\nHe[678 chars]h a'] != ['user\\nYou are a helpful assistant.\\n\\nHe[658 chars]h a']"
354
- },
355
- {
356
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_bf16",
357
- "trace": "(line 715) AssertionError: Lists differ: ['use[114 chars]rown cow standing on a sandy beach with clear [55 chars]ike'] != ['use[114 chars]rown and white cow standing on a sandy beach w[68 chars]oks']"
358
- },
359
- {
360
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_crops",
361
- "trace": "(line 715) AssertionError: Lists differ: [\"use[251 chars]. There's a blue sky with some white clouds in the background\"] != [\"use[251 chars]. There's a bright blue sky with some white clouds in the\"]"
362
- },
363
- {
364
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3IntegrationTest::test_model_4b_multiimage",
365
- "trace": "(line 715) AssertionError: Lists differ: [\"use[122 chars]n\\n**Main Features:**\\n\\n* **Chinese Archway[19 chars]ent\"] != [\"use[122 chars]n\\n**Overall Scene:**\\n\\nIt looks like a stree[18 chars]nt,\"]"
366
- }
367
- ]
368
- },
369
- "job_link": {
370
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330061",
371
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330319"
372
- }
373
- },
374
- "models_gemma3n": {
375
- "failed": {
376
- "PyTorch": {
377
- "unclassified": 0,
378
- "single": 0,
379
- "multi": 0
380
- },
381
- "TensorFlow": {
382
- "unclassified": 0,
383
- "single": 0,
384
- "multi": 0
385
- },
386
- "Flax": {
387
- "unclassified": 0,
388
- "single": 0,
389
- "multi": 0
390
- },
391
- "Tokenizers": {
392
- "unclassified": 0,
393
- "single": 0,
394
- "multi": 0
395
- },
396
- "Pipelines": {
397
- "unclassified": 0,
398
- "single": 0,
399
- "multi": 0
400
- },
401
- "Trainer": {
402
- "unclassified": 0,
403
- "single": 0,
404
- "multi": 0
405
- },
406
- "ONNX": {
407
- "unclassified": 0,
408
- "single": 0,
409
- "multi": 0
410
- },
411
- "Auto": {
412
- "unclassified": 0,
413
- "single": 0,
414
- "multi": 0
415
- },
416
- "Quantization": {
417
- "unclassified": 0,
418
- "single": 0,
419
- "multi": 0
420
- },
421
- "Unclassified": {
422
- "unclassified": 0,
423
- "single": 0,
424
- "multi": 0
425
- }
426
- },
427
- "errors": 0,
428
- "success": 197,
429
- "skipped": 635,
430
- "time_spent": "0:01:06, 0:01:08, ",
431
- "failures": {},
432
- "job_link": {
433
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330294",
434
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330077"
435
- }
436
- },
437
- "models_got_ocr2": {
438
- "failed": {
439
- "PyTorch": {
440
- "unclassified": 0,
441
- "single": 0,
442
- "multi": 0
443
- },
444
- "TensorFlow": {
445
- "unclassified": 0,
446
- "single": 0,
447
- "multi": 0
448
- },
449
- "Flax": {
450
- "unclassified": 0,
451
- "single": 0,
452
- "multi": 0
453
- },
454
- "Tokenizers": {
455
- "unclassified": 0,
456
- "single": 0,
457
- "multi": 0
458
- },
459
- "Pipelines": {
460
- "unclassified": 0,
461
- "single": 0,
462
- "multi": 0
463
- },
464
- "Trainer": {
465
- "unclassified": 0,
466
- "single": 0,
467
- "multi": 0
468
- },
469
- "ONNX": {
470
- "unclassified": 0,
471
- "single": 0,
472
- "multi": 0
473
- },
474
- "Auto": {
475
- "unclassified": 0,
476
- "single": 0,
477
- "multi": 0
478
- },
479
- "Quantization": {
480
- "unclassified": 0,
481
- "single": 0,
482
- "multi": 0
483
- },
484
- "Unclassified": {
485
- "unclassified": 0,
486
- "single": 0,
487
- "multi": 0
488
- }
489
- },
490
- "errors": 0,
491
- "success": 147,
492
- "skipped": 163,
493
- "time_spent": "0:01:03, 0:01:01, ",
494
- "failures": {},
495
- "job_link": {
496
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330314",
497
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330094"
498
- }
499
- },
500
- "models_gpt2": {
501
- "failed": {
502
- "PyTorch": {
503
- "unclassified": 0,
504
- "single": 0,
505
- "multi": 0
506
- },
507
- "TensorFlow": {
508
- "unclassified": 0,
509
- "single": 0,
510
- "multi": 0
511
- },
512
- "Flax": {
513
- "unclassified": 0,
514
- "single": 0,
515
- "multi": 0
516
- },
517
- "Tokenizers": {
518
- "unclassified": 0,
519
- "single": 0,
520
- "multi": 0
521
- },
522
- "Pipelines": {
523
- "unclassified": 0,
524
- "single": 0,
525
- "multi": 0
526
- },
527
- "Trainer": {
528
- "unclassified": 0,
529
- "single": 0,
530
- "multi": 0
531
- },
532
- "ONNX": {
533
- "unclassified": 0,
534
- "single": 0,
535
- "multi": 0
536
- },
537
- "Auto": {
538
- "unclassified": 0,
539
- "single": 0,
540
- "multi": 0
541
- },
542
- "Quantization": {
543
- "unclassified": 0,
544
- "single": 0,
545
- "multi": 0
546
- },
547
- "Unclassified": {
548
- "unclassified": 0,
549
- "single": 0,
550
- "multi": 0
551
- }
552
- },
553
- "errors": 0,
554
- "success": 249,
555
- "skipped": 99,
556
- "time_spent": "0:02:01, 0:01:46, ",
557
- "failures": {},
558
- "job_link": {
559
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330311",
560
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330113"
561
- }
562
- },
563
- "models_internvl": {
564
- "failed": {
565
- "PyTorch": {
566
- "unclassified": 0,
567
- "single": 1,
568
- "multi": 1
569
- },
570
- "TensorFlow": {
571
- "unclassified": 0,
572
- "single": 0,
573
- "multi": 0
574
- },
575
- "Flax": {
576
- "unclassified": 0,
577
- "single": 0,
578
- "multi": 0
579
- },
580
- "Tokenizers": {
581
- "unclassified": 0,
582
- "single": 0,
583
- "multi": 0
584
- },
585
- "Pipelines": {
586
- "unclassified": 0,
587
- "single": 0,
588
- "multi": 0
589
- },
590
- "Trainer": {
591
- "unclassified": 0,
592
- "single": 0,
593
- "multi": 0
594
- },
595
- "ONNX": {
596
- "unclassified": 0,
597
- "single": 0,
598
- "multi": 0
599
- },
600
- "Auto": {
601
- "unclassified": 0,
602
- "single": 0,
603
- "multi": 0
604
- },
605
- "Quantization": {
606
- "unclassified": 0,
607
- "single": 0,
608
- "multi": 0
609
- },
610
- "Unclassified": {
611
- "unclassified": 0,
612
- "single": 0,
613
- "multi": 0
614
- }
615
- },
616
- "errors": 0,
617
- "success": 253,
618
- "skipped": 107,
619
- "time_spent": "0:01:50, 0:02:00, ",
620
- "failures": {
621
- "multi": [
622
- {
623
- "line": "tests/models/internvl/test_modeling_internvl.py::InternVLLlamaIntegrationTest::test_llama_small_model_integration_forward",
624
- "trace": "(line 727) AssertionError: False is not true : Actual logits: tensor([ -9.8750, -0.4885, 1.4668, -10.3359, -10.3359], dtype=torch.float16)"
625
- }
626
- ],
627
- "single": [
628
- {
629
- "line": "tests/models/internvl/test_modeling_internvl.py::InternVLLlamaIntegrationTest::test_llama_small_model_integration_forward",
630
- "trace": "(line 727) AssertionError: False is not true : Actual logits: tensor([ -9.8750, -0.4885, 1.4668, -10.3359, -10.3359], dtype=torch.float16)"
631
- }
632
- ]
633
- },
634
- "job_link": {
635
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330361",
636
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330105"
637
- }
638
- },
639
- "models_llama": {
640
- "failed": {
641
- "PyTorch": {
642
- "unclassified": 0,
643
- "single": 1,
644
- "multi": 1
645
- },
646
- "TensorFlow": {
647
- "unclassified": 0,
648
- "single": 0,
649
- "multi": 0
650
- },
651
- "Flax": {
652
- "unclassified": 0,
653
- "single": 0,
654
- "multi": 0
655
- },
656
- "Tokenizers": {
657
- "unclassified": 0,
658
- "single": 0,
659
- "multi": 0
660
- },
661
- "Pipelines": {
662
- "unclassified": 0,
663
- "single": 0,
664
- "multi": 0
665
- },
666
- "Trainer": {
667
- "unclassified": 0,
668
- "single": 0,
669
- "multi": 0
670
- },
671
- "ONNX": {
672
- "unclassified": 0,
673
- "single": 0,
674
- "multi": 0
675
- },
676
- "Auto": {
677
- "unclassified": 0,
678
- "single": 0,
679
- "multi": 0
680
- },
681
- "Quantization": {
682
- "unclassified": 0,
683
- "single": 0,
684
- "multi": 0
685
- },
686
- "Unclassified": {
687
- "unclassified": 0,
688
- "single": 0,
689
- "multi": 0
690
- }
691
- },
692
- "errors": 0,
693
- "success": 235,
694
- "skipped": 101,
695
- "time_spent": "0:03:15, 0:02:51, ",
696
- "failures": {
697
- "multi": [
698
- {
699
- "line": "tests/models/llama/test_modeling_llama.py::LlamaIntegrationTest::test_model_7b_logits_bf16",
700
- "trace": "(line 727) AssertionError: False is not true"
701
- }
702
- ],
703
- "single": [
704
- {
705
- "line": "tests/models/llama/test_modeling_llama.py::LlamaIntegrationTest::test_model_7b_logits_bf16",
706
- "trace": "(line 727) AssertionError: False is not true"
707
- }
708
- ]
709
- },
710
- "job_link": {
711
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330531",
712
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330138"
713
- }
714
- },
715
- "models_llava": {
716
- "failed": {
717
- "PyTorch": {
718
- "unclassified": 0,
719
- "single": 1,
720
- "multi": 1
721
- },
722
- "TensorFlow": {
723
- "unclassified": 0,
724
- "single": 0,
725
- "multi": 0
726
- },
727
- "Flax": {
728
- "unclassified": 0,
729
- "single": 0,
730
- "multi": 0
731
- },
732
- "Tokenizers": {
733
- "unclassified": 0,
734
- "single": 0,
735
- "multi": 0
736
- },
737
- "Pipelines": {
738
- "unclassified": 0,
739
- "single": 0,
740
- "multi": 0
741
- },
742
- "Trainer": {
743
- "unclassified": 0,
744
- "single": 0,
745
- "multi": 0
746
- },
747
- "ONNX": {
748
- "unclassified": 0,
749
- "single": 0,
750
- "multi": 0
751
- },
752
- "Auto": {
753
- "unclassified": 0,
754
- "single": 0,
755
- "multi": 0
756
- },
757
- "Quantization": {
758
- "unclassified": 0,
759
- "single": 0,
760
- "multi": 0
761
- },
762
- "Unclassified": {
763
- "unclassified": 0,
764
- "single": 0,
765
- "multi": 0
766
- }
767
- },
768
- "errors": 0,
769
- "success": 206,
770
- "skipped": 124,
771
- "time_spent": "0:03:58, 0:04:34, ",
772
- "failures": {
773
- "multi": [
774
- {
775
- "line": "tests/models/llava/test_modeling_llava.py::LlavaForConditionalGenerationIntegrationTest::test_batched_generation",
776
- "trace": "(line 399) importlib.metadata.PackageNotFoundError: No package metadata was found for bitsandbytes"
777
- }
778
- ],
779
- "single": [
780
- {
781
- "line": "tests/models/llava/test_modeling_llava.py::LlavaForConditionalGenerationIntegrationTest::test_batched_generation",
782
- "trace": "(line 399) importlib.metadata.PackageNotFoundError: No package metadata was found for bitsandbytes"
783
- }
784
- ]
785
- },
786
- "job_link": {
787
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330406",
788
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330161"
789
- }
790
- },
791
- "models_mistral3": {
792
- "failed": {
793
- "PyTorch": {
794
- "unclassified": 0,
795
- "single": 1,
796
- "multi": 1
797
- },
798
- "TensorFlow": {
799
- "unclassified": 0,
800
- "single": 0,
801
- "multi": 0
802
- },
803
- "Flax": {
804
- "unclassified": 0,
805
- "single": 0,
806
- "multi": 0
807
- },
808
- "Tokenizers": {
809
- "unclassified": 0,
810
- "single": 0,
811
- "multi": 0
812
- },
813
- "Pipelines": {
814
- "unclassified": 0,
815
- "single": 0,
816
- "multi": 0
817
- },
818
- "Trainer": {
819
- "unclassified": 0,
820
- "single": 0,
821
- "multi": 0
822
- },
823
- "ONNX": {
824
- "unclassified": 0,
825
- "single": 0,
826
- "multi": 0
827
- },
828
- "Auto": {
829
- "unclassified": 0,
830
- "single": 0,
831
- "multi": 0
832
- },
833
- "Quantization": {
834
- "unclassified": 0,
835
- "single": 0,
836
- "multi": 0
837
- },
838
- "Unclassified": {
839
- "unclassified": 0,
840
- "single": 0,
841
- "multi": 0
842
- }
843
- },
844
- "errors": 0,
845
- "success": 199,
846
- "skipped": 105,
847
- "time_spent": "0:04:34, 0:04:39, ",
848
- "failures": {
849
- "single": [
850
- {
851
- "line": "tests/models/mistral3/test_modeling_mistral3.py::Mistral3IntegrationTest::test_mistral3_integration_generate",
852
- "trace": "(line 715) AssertionError: 'The [14 chars] two cats lying on a pink surface, which appea[21 chars] bed' != 'The [14 chars] two tabby cats lying on a pink surface, which[23 chars]n or'"
853
- }
854
- ],
855
- "multi": [
856
- {
857
- "line": "tests/models/mistral3/test_modeling_mistral3.py::Mistral3IntegrationTest::test_mistral3_integration_generate",
858
- "trace": "(line 715) AssertionError: 'The [14 chars] two cats lying on a pink surface, which appea[21 chars] bed' != 'The [14 chars] two tabby cats lying on a pink surface, which[23 chars]n or'"
859
- }
860
- ]
861
- },
862
- "job_link": {
863
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330418",
864
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329678"
865
- }
866
- },
867
- "models_modernbert": {
868
- "failed": {
869
- "PyTorch": {
870
- "unclassified": 0,
871
- "single": 0,
872
- "multi": 0
873
- },
874
- "TensorFlow": {
875
- "unclassified": 0,
876
- "single": 0,
877
- "multi": 0
878
- },
879
- "Flax": {
880
- "unclassified": 0,
881
- "single": 0,
882
- "multi": 0
883
- },
884
- "Tokenizers": {
885
- "unclassified": 0,
886
- "single": 0,
887
- "multi": 0
888
- },
889
- "Pipelines": {
890
- "unclassified": 0,
891
- "single": 0,
892
- "multi": 0
893
- },
894
- "Trainer": {
895
- "unclassified": 0,
896
- "single": 0,
897
- "multi": 0
898
- },
899
- "ONNX": {
900
- "unclassified": 0,
901
- "single": 0,
902
- "multi": 0
903
- },
904
- "Auto": {
905
- "unclassified": 0,
906
- "single": 0,
907
- "multi": 0
908
- },
909
- "Quantization": {
910
- "unclassified": 0,
911
- "single": 0,
912
- "multi": 0
913
- },
914
- "Unclassified": {
915
- "unclassified": 0,
916
- "single": 0,
917
- "multi": 0
918
- }
919
- },
920
- "errors": 0,
921
- "success": 142,
922
- "skipped": 102,
923
- "time_spent": "0:01:03, 9.02, ",
924
- "failures": {},
925
- "job_link": {
926
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329712",
927
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330429"
928
- }
929
- },
930
- "models_qwen2": {
931
- "failed": {
932
- "PyTorch": {
933
- "unclassified": 0,
934
- "single": 1,
935
- "multi": 1
936
- },
937
- "TensorFlow": {
938
- "unclassified": 0,
939
- "single": 0,
940
- "multi": 0
941
- },
942
- "Flax": {
943
- "unclassified": 0,
944
- "single": 0,
945
- "multi": 0
946
- },
947
- "Tokenizers": {
948
- "unclassified": 0,
949
- "single": 0,
950
- "multi": 0
951
- },
952
- "Pipelines": {
953
- "unclassified": 0,
954
- "single": 0,
955
- "multi": 0
956
- },
957
- "Trainer": {
958
- "unclassified": 0,
959
- "single": 0,
960
- "multi": 0
961
- },
962
- "ONNX": {
963
- "unclassified": 0,
964
- "single": 0,
965
- "multi": 0
966
- },
967
- "Auto": {
968
- "unclassified": 0,
969
- "single": 0,
970
- "multi": 0
971
- },
972
- "Quantization": {
973
- "unclassified": 0,
974
- "single": 0,
975
- "multi": 0
976
- },
977
- "Unclassified": {
978
- "unclassified": 0,
979
- "single": 0,
980
- "multi": 0
981
- }
982
- },
983
- "errors": 0,
984
- "success": 217,
985
- "skipped": 113,
986
- "time_spent": "0:01:08, 0:01:05, ",
987
- "failures": {
988
- "multi": [
989
- {
990
- "line": "tests/models/qwen2/test_modeling_qwen2.py::Qwen2IntegrationTest::test_export_static_cache",
991
- "trace": "(line 715) AssertionError: Lists differ: ['My [35 chars], organic, gluten free, vegan, and vegetarian. I love to use'] != ['My [35 chars], organic, gluten free, vegan, and free from preservatives. I']"
992
- }
993
- ],
994
- "single": [
995
- {
996
- "line": "tests/models/qwen2/test_modeling_qwen2.py::Qwen2IntegrationTest::test_export_static_cache",
997
- "trace": "(line 715) AssertionError: Lists differ: ['My [35 chars], organic, gluten free, vegan, and vegetarian. I love to use'] != ['My [35 chars], organic, gluten free, vegan, and free from preservatives. I']"
998
- }
999
- ]
1000
- },
1001
- "job_link": {
1002
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329761",
1003
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330508"
1004
- }
1005
- },
1006
- "models_qwen2_5_omni": {
1007
- "failed": {
1008
- "PyTorch": {
1009
- "unclassified": 0,
1010
- "single": 2,
1011
- "multi": 2
1012
- },
1013
- "TensorFlow": {
1014
- "unclassified": 0,
1015
- "single": 0,
1016
- "multi": 0
1017
- },
1018
- "Flax": {
1019
- "unclassified": 0,
1020
- "single": 0,
1021
- "multi": 0
1022
- },
1023
- "Tokenizers": {
1024
- "unclassified": 0,
1025
- "single": 0,
1026
- "multi": 0
1027
- },
1028
- "Pipelines": {
1029
- "unclassified": 0,
1030
- "single": 0,
1031
- "multi": 0
1032
- },
1033
- "Trainer": {
1034
- "unclassified": 0,
1035
- "single": 0,
1036
- "multi": 0
1037
- },
1038
- "ONNX": {
1039
- "unclassified": 0,
1040
- "single": 0,
1041
- "multi": 0
1042
- },
1043
- "Auto": {
1044
- "unclassified": 0,
1045
- "single": 0,
1046
- "multi": 0
1047
- },
1048
- "Quantization": {
1049
- "unclassified": 0,
1050
- "single": 0,
1051
- "multi": 0
1052
- },
1053
- "Unclassified": {
1054
- "unclassified": 0,
1055
- "single": 0,
1056
- "multi": 0
1057
- }
1058
- },
1059
- "errors": 0,
1060
- "success": 167,
1061
- "skipped": 141,
1062
- "time_spent": "0:02:23, 0:01:53, ",
1063
- "failures": {
1064
- "multi": [
1065
- {
1066
- "line": "tests/models/qwen2_5_omni/test_modeling_qwen2_5_omni.py::Qwen2_5OmniThinkerForConditionalGenerationModelTest::test_model_parallelism",
1067
- "trace": "(line 715) AssertionError: Items in the second set but not the first:"
1068
- },
1069
- {
1070
- "line": "tests/models/qwen2_5_omni/test_modeling_qwen2_5_omni.py::Qwen2_5OmniModelIntegrationTest::test_small_model_integration_test_batch",
1071
- "trace": "(line 715) AssertionError: Lists differ: [\"sys[293 chars]s shattering, and the dog appears to be a Labrador Retriever.\"] != [\"sys[293 chars]s shattering, and the dog is a Labrador Retriever.\"]"
1072
- }
1073
- ],
1074
- "single": [
1075
- {
1076
- "line": "tests/models/qwen2_5_omni/test_modeling_qwen2_5_omni.py::Qwen2_5OmniModelIntegrationTest::test_small_model_integration_test",
1077
- "trace": "(line 700) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='qianwen-res.oss-accelerate-overseas.aliyuncs.com', port=443): Max retries exceeded with url: /Qwen2-VL/demo_small.jpg (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7cb8c91d02f0>: Failed to establish a new connection: [Errno -2] Name or service not known'))"
1078
- },
1079
- {
1080
- "line": "tests/models/qwen2_5_omni/test_modeling_qwen2_5_omni.py::Qwen2_5OmniModelIntegrationTest::test_small_model_integration_test_batch",
1081
- "trace": "(line 715) AssertionError: Lists differ: [\"sys[109 chars]d is a glass shattering, and the dog is a Labr[187 chars]er.\"] != [\"sys[109 chars]d is glass shattering, and the dog is a Labrad[185 chars]er.\"]"
1082
- }
1083
- ]
1084
- },
1085
- "job_link": {
1086
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329806",
1087
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330503"
1088
- }
1089
- },
1090
- "models_qwen2_5_vl": {
1091
- "failed": {
1092
- "PyTorch": {
1093
- "unclassified": 0,
1094
- "single": 1,
1095
- "multi": 1
1096
- },
1097
- "TensorFlow": {
1098
- "unclassified": 0,
1099
- "single": 0,
1100
- "multi": 0
1101
- },
1102
- "Flax": {
1103
- "unclassified": 0,
1104
- "single": 0,
1105
- "multi": 0
1106
- },
1107
- "Tokenizers": {
1108
- "unclassified": 0,
1109
- "single": 0,
1110
- "multi": 0
1111
- },
1112
- "Pipelines": {
1113
- "unclassified": 0,
1114
- "single": 0,
1115
- "multi": 0
1116
- },
1117
- "Trainer": {
1118
- "unclassified": 0,
1119
- "single": 0,
1120
- "multi": 0
1121
- },
1122
- "ONNX": {
1123
- "unclassified": 0,
1124
- "single": 0,
1125
- "multi": 0
1126
- },
1127
- "Auto": {
1128
- "unclassified": 0,
1129
- "single": 0,
1130
- "multi": 0
1131
- },
1132
- "Quantization": {
1133
- "unclassified": 0,
1134
- "single": 0,
1135
- "multi": 0
1136
- },
1137
- "Unclassified": {
1138
- "unclassified": 0,
1139
- "single": 0,
1140
- "multi": 0
1141
- }
1142
- },
1143
- "errors": 0,
1144
- "success": 205,
1145
- "skipped": 113,
1146
- "time_spent": "0:02:32, 0:02:29, ",
1147
- "failures": {
1148
- "multi": [
1149
- {
1150
- "line": "tests/models/qwen2_5_vl/test_modeling_qwen2_5_vl.py::Qwen2_5_VLIntegrationTest::test_small_model_integration_test_batch_different_resolutions",
1151
- "trace": "(line 715) AssertionError: Lists differ: ['sys[314 chars]ion\\n addCriterion\\n\\n addCriterion\\n\\n addCri[75 chars]n\\n'] != ['sys[314 chars]ion\\nThe dog in the picture appears to be a La[81 chars] is']"
1152
- }
1153
- ],
1154
- "single": [
1155
- {
1156
- "line": "tests/models/qwen2_5_vl/test_modeling_qwen2_5_vl.py::Qwen2_5_VLIntegrationTest::test_small_model_integration_test_batch_different_resolutions",
1157
- "trace": "(line 715) AssertionError: Lists differ: ['sys[314 chars]ion\\n addCriterion\\n\\n addCriterion\\n\\n addCri[75 chars]n\\n'] != ['sys[314 chars]ion\\nThe dog in the picture appears to be a La[81 chars] is']"
1158
- }
1159
- ]
1160
- },
1161
- "job_link": {
1162
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329760",
1163
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330498"
1164
- }
1165
- },
1166
- "models_smolvlm": {
1167
- "failed": {
1168
- "PyTorch": {
1169
- "unclassified": 0,
1170
- "single": 0,
1171
- "multi": 0
1172
- },
1173
- "TensorFlow": {
1174
- "unclassified": 0,
1175
- "single": 0,
1176
- "multi": 0
1177
- },
1178
- "Flax": {
1179
- "unclassified": 0,
1180
- "single": 0,
1181
- "multi": 0
1182
- },
1183
- "Tokenizers": {
1184
- "unclassified": 0,
1185
- "single": 0,
1186
- "multi": 0
1187
- },
1188
- "Pipelines": {
1189
- "unclassified": 0,
1190
- "single": 0,
1191
- "multi": 0
1192
- },
1193
- "Trainer": {
1194
- "unclassified": 0,
1195
- "single": 0,
1196
- "multi": 0
1197
- },
1198
- "ONNX": {
1199
- "unclassified": 0,
1200
- "single": 0,
1201
- "multi": 0
1202
- },
1203
- "Auto": {
1204
- "unclassified": 0,
1205
- "single": 0,
1206
- "multi": 0
1207
- },
1208
- "Quantization": {
1209
- "unclassified": 0,
1210
- "single": 0,
1211
- "multi": 0
1212
- },
1213
- "Unclassified": {
1214
- "unclassified": 0,
1215
- "single": 0,
1216
- "multi": 0
1217
- }
1218
- },
1219
- "errors": 0,
1220
- "success": 323,
1221
- "skipped": 231,
1222
- "time_spent": "0:01:08, 0:01:13, ",
1223
- "failures": {},
1224
- "job_link": {
1225
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330553",
1226
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329835"
1227
- }
1228
- },
1229
- "models_t5": {
1230
- "failed": {
1231
- "PyTorch": {
1232
- "unclassified": 0,
1233
- "single": 2,
1234
- "multi": 3
1235
- },
1236
- "TensorFlow": {
1237
- "unclassified": 0,
1238
- "single": 0,
1239
- "multi": 0
1240
- },
1241
- "Flax": {
1242
- "unclassified": 0,
1243
- "single": 0,
1244
- "multi": 0
1245
- },
1246
- "Tokenizers": {
1247
- "unclassified": 0,
1248
- "single": 0,
1249
- "multi": 0
1250
- },
1251
- "Pipelines": {
1252
- "unclassified": 0,
1253
- "single": 0,
1254
- "multi": 0
1255
- },
1256
- "Trainer": {
1257
- "unclassified": 0,
1258
- "single": 0,
1259
- "multi": 0
1260
- },
1261
- "ONNX": {
1262
- "unclassified": 0,
1263
- "single": 0,
1264
- "multi": 0
1265
- },
1266
- "Auto": {
1267
- "unclassified": 0,
1268
- "single": 0,
1269
- "multi": 0
1270
- },
1271
- "Quantization": {
1272
- "unclassified": 0,
1273
- "single": 0,
1274
- "multi": 0
1275
- },
1276
- "Unclassified": {
1277
- "unclassified": 0,
1278
- "single": 0,
1279
- "multi": 0
1280
- }
1281
- },
1282
- "errors": 0,
1283
- "success": 254,
1284
- "skipped": 325,
1285
- "time_spent": "0:01:50, 0:01:40, ",
1286
- "failures": {
1287
- "multi": [
1288
- {
1289
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelTest::test_multi_gpu_data_parallel_forward",
1290
- "trace": "(line 131) TypeError: EncoderDecoderCache.__init__() missing 1 required positional argument: 'cross_attention_cache'"
1291
- },
1292
- {
1293
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_export_t5_summarization",
1294
- "trace": "(line 687) AttributeError: 'dict' object has no attribute 'batch_size'"
1295
- },
1296
- {
1297
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_small_integration_test",
1298
- "trace": "(line 727) AssertionError: False is not true"
1299
- }
1300
- ],
1301
- "single": [
1302
- {
1303
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_export_t5_summarization",
1304
- "trace": "(line 687) AttributeError: 'dict' object has no attribute 'batch_size'"
1305
- },
1306
- {
1307
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_small_integration_test",
1308
- "trace": "(line 727) AssertionError: False is not true"
1309
- }
1310
- ]
1311
- },
1312
- "job_link": {
1313
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329815",
1314
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330559"
1315
- }
1316
- },
1317
- "models_vit": {
1318
- "failed": {
1319
- "PyTorch": {
1320
- "unclassified": 0,
1321
- "single": 0,
1322
- "multi": 0
1323
- },
1324
- "TensorFlow": {
1325
- "unclassified": 0,
1326
- "single": 0,
1327
- "multi": 0
1328
- },
1329
- "Flax": {
1330
- "unclassified": 0,
1331
- "single": 0,
1332
- "multi": 0
1333
- },
1334
- "Tokenizers": {
1335
- "unclassified": 0,
1336
- "single": 0,
1337
- "multi": 0
1338
- },
1339
- "Pipelines": {
1340
- "unclassified": 0,
1341
- "single": 0,
1342
- "multi": 0
1343
- },
1344
- "Trainer": {
1345
- "unclassified": 0,
1346
- "single": 0,
1347
- "multi": 0
1348
- },
1349
- "ONNX": {
1350
- "unclassified": 0,
1351
- "single": 0,
1352
- "multi": 0
1353
- },
1354
- "Auto": {
1355
- "unclassified": 0,
1356
- "single": 0,
1357
- "multi": 0
1358
- },
1359
- "Quantization": {
1360
- "unclassified": 0,
1361
- "single": 0,
1362
- "multi": 0
1363
- },
1364
- "Unclassified": {
1365
- "unclassified": 0,
1366
- "single": 0,
1367
- "multi": 0
1368
- }
1369
- },
1370
- "errors": 0,
1371
- "success": 135,
1372
- "skipped": 93,
1373
- "time_spent": "9.85, 7.74, ",
1374
- "failures": {},
1375
- "job_link": {
1376
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329875",
1377
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330596"
1378
- }
1379
- },
1380
- "models_wav2vec2": {
1381
- "failed": {
1382
- "PyTorch": {
1383
- "unclassified": 0,
1384
- "single": 0,
1385
- "multi": 0
1386
- },
1387
- "TensorFlow": {
1388
- "unclassified": 0,
1389
- "single": 0,
1390
- "multi": 0
1391
- },
1392
- "Flax": {
1393
- "unclassified": 0,
1394
- "single": 0,
1395
- "multi": 0
1396
- },
1397
- "Tokenizers": {
1398
- "unclassified": 0,
1399
- "single": 0,
1400
- "multi": 0
1401
- },
1402
- "Pipelines": {
1403
- "unclassified": 0,
1404
- "single": 0,
1405
- "multi": 0
1406
- },
1407
- "Trainer": {
1408
- "unclassified": 0,
1409
- "single": 0,
1410
- "multi": 0
1411
- },
1412
- "ONNX": {
1413
- "unclassified": 0,
1414
- "single": 0,
1415
- "multi": 0
1416
- },
1417
- "Auto": {
1418
- "unclassified": 0,
1419
- "single": 0,
1420
- "multi": 0
1421
- },
1422
- "Quantization": {
1423
- "unclassified": 0,
1424
- "single": 0,
1425
- "multi": 0
1426
- },
1427
- "Unclassified": {
1428
- "unclassified": 0,
1429
- "single": 0,
1430
- "multi": 0
1431
- }
1432
- },
1433
- "errors": 0,
1434
- "success": 292,
1435
- "skipped": 246,
1436
- "time_spent": "0:01:56, 0:01:54, ",
1437
- "failures": {},
1438
- "job_link": {
1439
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329877",
1440
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330632"
1441
- }
1442
- },
1443
- "models_whisper": {
1444
- "failed": {
1445
- "PyTorch": {
1446
- "unclassified": 0,
1447
- "single": 40,
1448
- "multi": 42
1449
- },
1450
- "TensorFlow": {
1451
- "unclassified": 0,
1452
- "single": 0,
1453
- "multi": 0
1454
- },
1455
- "Flax": {
1456
- "unclassified": 0,
1457
- "single": 0,
1458
- "multi": 0
1459
- },
1460
- "Tokenizers": {
1461
- "unclassified": 0,
1462
- "single": 0,
1463
- "multi": 0
1464
- },
1465
- "Pipelines": {
1466
- "unclassified": 0,
1467
- "single": 0,
1468
- "multi": 0
1469
- },
1470
- "Trainer": {
1471
- "unclassified": 0,
1472
- "single": 0,
1473
- "multi": 0
1474
- },
1475
- "ONNX": {
1476
- "unclassified": 0,
1477
- "single": 0,
1478
- "multi": 0
1479
- },
1480
- "Auto": {
1481
- "unclassified": 0,
1482
- "single": 0,
1483
- "multi": 0
1484
- },
1485
- "Quantization": {
1486
- "unclassified": 0,
1487
- "single": 0,
1488
- "multi": 0
1489
- },
1490
- "Unclassified": {
1491
- "unclassified": 0,
1492
- "single": 0,
1493
- "multi": 0
1494
- }
1495
- },
1496
- "errors": 0,
1497
- "success": 537,
1498
- "skipped": 337,
1499
- "time_spent": "0:03:23, 0:03:02, ",
1500
- "failures": {
1501
- "single": [
1502
- {
1503
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_distil_token_timestamp_generation",
1504
- "trace": "(line 2938) Failed: (subprocess)"
1505
- },
1506
- {
1507
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_forced_decoder_ids",
1508
- "trace": "(line 2938) Failed: (subprocess)"
1509
- },
1510
- {
1511
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_prompt_ids",
1512
- "trace": "(line 2938) Failed: (subprocess)"
1513
- },
1514
- {
1515
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_prompt_ids_task_language",
1516
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1517
- },
1518
- {
1519
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_language_detection",
1520
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1521
- },
1522
- {
1523
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation",
1524
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1525
- },
1526
- {
1527
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation_multilingual",
1528
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1529
- },
1530
- {
1531
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_generation",
1532
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1533
- },
1534
- {
1535
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_generation_multilingual",
1536
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1537
- },
1538
- {
1539
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_logits_librispeech",
1540
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1541
- },
1542
- {
1543
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_timestamp_generation",
1544
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1545
- },
1546
- {
1547
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_en_logits_librispeech",
1548
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1549
- },
1550
- {
1551
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_longform_timestamps_generation",
1552
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1553
- },
1554
- {
1555
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_token_timestamp_generation",
1556
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1557
- },
1558
- {
1559
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_speculative_decoding_distil",
1560
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1561
- },
1562
- {
1563
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_speculative_decoding_non_distil",
1564
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1565
- },
1566
- {
1567
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_en_batched_generation",
1568
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1569
- },
1570
- {
1571
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_en_generation",
1572
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1573
- },
1574
- {
1575
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_generation",
1576
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1577
- },
1578
- {
1579
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_logits_librispeech",
1580
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1581
- },
1582
- {
1583
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_longform_timestamps_generation",
1584
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1585
- },
1586
- {
1587
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_specaugment_librispeech",
1588
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1589
- },
1590
- {
1591
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_static_generation",
1592
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1593
- },
1594
- {
1595
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_static_generation_long_form",
1596
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1597
- },
1598
- {
1599
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_timestamp_generation",
1600
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1601
- },
1602
- {
1603
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_batch_generation",
1604
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1605
- },
1606
- {
1607
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_generation",
1608
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1609
- },
1610
- {
1611
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_generation_longform",
1612
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1613
- },
1614
- {
1615
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_empty_longform",
1616
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1617
- },
1618
- {
1619
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch",
1620
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1621
- },
1622
- {
1623
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard",
1624
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1625
- },
1626
- {
1627
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard_prev_cond",
1628
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1629
- },
1630
- {
1631
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_prev_cond",
1632
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1633
- },
1634
- {
1635
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_no_speech_detection",
1636
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1637
- },
1638
- {
1639
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_prompt_ids",
1640
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1641
- },
1642
- {
1643
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch",
1644
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1645
- },
1646
- {
1647
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch_beam",
1648
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1649
- },
1650
- {
1651
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch_prev_cond",
1652
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1653
- },
1654
- {
1655
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_multi_batch_hard_prev_cond",
1656
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1657
- },
1658
- {
1659
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_single_batch_prev_cond",
1660
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1661
- }
1662
- ],
1663
- "multi": [
1664
- {
1665
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelTest::test_multi_gpu_data_parallel_forward",
1666
- "trace": "(line 2938) Failed: (subprocess)"
1667
- },
1668
- {
1669
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_distil_token_timestamp_generation",
1670
- "trace": "(line 2938) Failed: (subprocess)"
1671
- },
1672
- {
1673
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_forced_decoder_ids",
1674
- "trace": "(line 2938) Failed: (subprocess)"
1675
- },
1676
- {
1677
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_prompt_ids",
1678
- "trace": "(line 131) TypeError: EncoderDecoderCache.__init__() missing 1 required positional argument: 'cross_attention_cache'"
1679
- },
1680
- {
1681
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_generate_with_prompt_ids_task_language",
1682
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1683
- },
1684
- {
1685
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_language_detection",
1686
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1687
- },
1688
- {
1689
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation",
1690
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1691
- },
1692
- {
1693
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation_multilingual",
1694
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1695
- },
1696
- {
1697
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_generation",
1698
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1699
- },
1700
- {
1701
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_generation_multilingual",
1702
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1703
- },
1704
- {
1705
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_logits_librispeech",
1706
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1707
- },
1708
- {
1709
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_timestamp_generation",
1710
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1711
- },
1712
- {
1713
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_en_logits_librispeech",
1714
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1715
- },
1716
- {
1717
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_longform_timestamps_generation",
1718
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1719
- },
1720
- {
1721
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_token_timestamp_generation",
1722
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1723
- },
1724
- {
1725
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_speculative_decoding_distil",
1726
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1727
- },
1728
- {
1729
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_speculative_decoding_non_distil",
1730
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1731
- },
1732
- {
1733
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_en_batched_generation",
1734
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1735
- },
1736
- {
1737
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_en_generation",
1738
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1739
- },
1740
- {
1741
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_generation",
1742
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1743
- },
1744
- {
1745
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_logits_librispeech",
1746
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1747
- },
1748
- {
1749
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_longform_timestamps_generation",
1750
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1751
- },
1752
- {
1753
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_specaugment_librispeech",
1754
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1755
- },
1756
- {
1757
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_static_generation",
1758
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1759
- },
1760
- {
1761
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_static_generation_long_form",
1762
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1763
- },
1764
- {
1765
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_timestamp_generation",
1766
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1767
- },
1768
- {
1769
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_batch_generation",
1770
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1771
- },
1772
- {
1773
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_generation",
1774
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1775
- },
1776
- {
1777
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_token_timestamp_generation_longform",
1778
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1779
- },
1780
- {
1781
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_empty_longform",
1782
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1783
- },
1784
- {
1785
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_empty_longform_multi_gpu",
1786
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1787
- },
1788
- {
1789
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch",
1790
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1791
- },
1792
- {
1793
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard",
1794
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1795
- },
1796
- {
1797
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard_prev_cond",
1798
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1799
- },
1800
- {
1801
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_prev_cond",
1802
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1803
- },
1804
- {
1805
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_no_speech_detection",
1806
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1807
- },
1808
- {
1809
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_prompt_ids",
1810
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1811
- },
1812
- {
1813
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch",
1814
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1815
- },
1816
- {
1817
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch_beam",
1818
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1819
- },
1820
- {
1821
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_single_batch_prev_cond",
1822
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1823
- },
1824
- {
1825
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_multi_batch_hard_prev_cond",
1826
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1827
- },
1828
- {
1829
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_single_batch_prev_cond",
1830
- "trace": "(line 172) ImportError: To support decoding audio data, please install 'torchcodec'."
1831
- }
1832
- ]
1833
- },
1834
- "job_link": {
1835
- "single": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301330636",
1836
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712966867/job/47301329883"
1837
- }
1838
- }
1839
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sample_nvidia.json DELETED
@@ -1,1475 +0,0 @@
1
- {
2
- "models_auto": {
3
- "failed": {
4
- "PyTorch": {
5
- "unclassified": 0,
6
- "single": 0,
7
- "multi": 0
8
- },
9
- "TensorFlow": {
10
- "unclassified": 0,
11
- "single": 0,
12
- "multi": 0
13
- },
14
- "Flax": {
15
- "unclassified": 0,
16
- "single": 0,
17
- "multi": 0
18
- },
19
- "Tokenizers": {
20
- "unclassified": 0,
21
- "single": 0,
22
- "multi": 0
23
- },
24
- "Pipelines": {
25
- "unclassified": 0,
26
- "single": 0,
27
- "multi": 0
28
- },
29
- "Trainer": {
30
- "unclassified": 0,
31
- "single": 0,
32
- "multi": 0
33
- },
34
- "ONNX": {
35
- "unclassified": 0,
36
- "single": 0,
37
- "multi": 0
38
- },
39
- "Auto": {
40
- "unclassified": 0,
41
- "single": 0,
42
- "multi": 0
43
- },
44
- "Quantization": {
45
- "unclassified": 0,
46
- "single": 0,
47
- "multi": 0
48
- },
49
- "Unclassified": {
50
- "unclassified": 0,
51
- "single": 0,
52
- "multi": 0
53
- }
54
- },
55
- "errors": 0,
56
- "success": 226,
57
- "skipped": 10,
58
- "time_spent": "3.79, 5.93, ",
59
- "failures": {},
60
- "job_link": {
61
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215208",
62
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215147"
63
- }
64
- },
65
- "models_bert": {
66
- "failed": {
67
- "PyTorch": {
68
- "unclassified": 0,
69
- "single": 0,
70
- "multi": 0
71
- },
72
- "TensorFlow": {
73
- "unclassified": 0,
74
- "single": 0,
75
- "multi": 0
76
- },
77
- "Flax": {
78
- "unclassified": 0,
79
- "single": 0,
80
- "multi": 0
81
- },
82
- "Tokenizers": {
83
- "unclassified": 0,
84
- "single": 0,
85
- "multi": 0
86
- },
87
- "Pipelines": {
88
- "unclassified": 0,
89
- "single": 0,
90
- "multi": 0
91
- },
92
- "Trainer": {
93
- "unclassified": 0,
94
- "single": 0,
95
- "multi": 0
96
- },
97
- "ONNX": {
98
- "unclassified": 0,
99
- "single": 0,
100
- "multi": 0
101
- },
102
- "Auto": {
103
- "unclassified": 0,
104
- "single": 0,
105
- "multi": 0
106
- },
107
- "Quantization": {
108
- "unclassified": 0,
109
- "single": 0,
110
- "multi": 0
111
- },
112
- "Unclassified": {
113
- "unclassified": 0,
114
- "single": 0,
115
- "multi": 0
116
- }
117
- },
118
- "errors": 0,
119
- "success": 527,
120
- "skipped": 211,
121
- "time_spent": "0:01:47, 0:01:50, ",
122
- "failures": {},
123
- "job_link": {
124
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215196",
125
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215175"
126
- }
127
- },
128
- "models_clip": {
129
- "failed": {
130
- "PyTorch": {
131
- "unclassified": 0,
132
- "single": 0,
133
- "multi": 0
134
- },
135
- "TensorFlow": {
136
- "unclassified": 0,
137
- "single": 0,
138
- "multi": 0
139
- },
140
- "Flax": {
141
- "unclassified": 0,
142
- "single": 0,
143
- "multi": 0
144
- },
145
- "Tokenizers": {
146
- "unclassified": 0,
147
- "single": 0,
148
- "multi": 0
149
- },
150
- "Pipelines": {
151
- "unclassified": 0,
152
- "single": 0,
153
- "multi": 0
154
- },
155
- "Trainer": {
156
- "unclassified": 0,
157
- "single": 0,
158
- "multi": 0
159
- },
160
- "ONNX": {
161
- "unclassified": 0,
162
- "single": 0,
163
- "multi": 0
164
- },
165
- "Auto": {
166
- "unclassified": 0,
167
- "single": 0,
168
- "multi": 0
169
- },
170
- "Quantization": {
171
- "unclassified": 0,
172
- "single": 0,
173
- "multi": 0
174
- },
175
- "Unclassified": {
176
- "unclassified": 0,
177
- "single": 0,
178
- "multi": 0
179
- }
180
- },
181
- "errors": 0,
182
- "success": 660,
183
- "skipped": 934,
184
- "time_spent": "0:02:15, 0:02:11, ",
185
- "failures": {},
186
- "job_link": {
187
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215674",
188
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215699"
189
- }
190
- },
191
- "models_detr": {
192
- "failed": {
193
- "PyTorch": {
194
- "unclassified": 0,
195
- "single": 0,
196
- "multi": 0
197
- },
198
- "TensorFlow": {
199
- "unclassified": 0,
200
- "single": 0,
201
- "multi": 0
202
- },
203
- "Flax": {
204
- "unclassified": 0,
205
- "single": 0,
206
- "multi": 0
207
- },
208
- "Tokenizers": {
209
- "unclassified": 0,
210
- "single": 0,
211
- "multi": 0
212
- },
213
- "Pipelines": {
214
- "unclassified": 0,
215
- "single": 0,
216
- "multi": 0
217
- },
218
- "Trainer": {
219
- "unclassified": 0,
220
- "single": 0,
221
- "multi": 0
222
- },
223
- "ONNX": {
224
- "unclassified": 0,
225
- "single": 0,
226
- "multi": 0
227
- },
228
- "Auto": {
229
- "unclassified": 0,
230
- "single": 0,
231
- "multi": 0
232
- },
233
- "Quantization": {
234
- "unclassified": 0,
235
- "single": 0,
236
- "multi": 0
237
- },
238
- "Unclassified": {
239
- "unclassified": 0,
240
- "single": 0,
241
- "multi": 0
242
- }
243
- },
244
- "errors": 0,
245
- "success": 177,
246
- "skipped": 271,
247
- "time_spent": "0:01:07, 0:01:11, ",
248
- "failures": {},
249
- "job_link": {
250
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216030",
251
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216008"
252
- }
253
- },
254
- "models_gemma3": {
255
- "failed": {
256
- "PyTorch": {
257
- "unclassified": 0,
258
- "single": 0,
259
- "multi": 1
260
- },
261
- "TensorFlow": {
262
- "unclassified": 0,
263
- "single": 0,
264
- "multi": 0
265
- },
266
- "Flax": {
267
- "unclassified": 0,
268
- "single": 0,
269
- "multi": 0
270
- },
271
- "Tokenizers": {
272
- "unclassified": 0,
273
- "single": 0,
274
- "multi": 0
275
- },
276
- "Pipelines": {
277
- "unclassified": 0,
278
- "single": 0,
279
- "multi": 0
280
- },
281
- "Trainer": {
282
- "unclassified": 0,
283
- "single": 0,
284
- "multi": 0
285
- },
286
- "ONNX": {
287
- "unclassified": 0,
288
- "single": 0,
289
- "multi": 0
290
- },
291
- "Auto": {
292
- "unclassified": 0,
293
- "single": 0,
294
- "multi": 0
295
- },
296
- "Quantization": {
297
- "unclassified": 0,
298
- "single": 0,
299
- "multi": 0
300
- },
301
- "Unclassified": {
302
- "unclassified": 0,
303
- "single": 0,
304
- "multi": 0
305
- }
306
- },
307
- "errors": 0,
308
- "success": 507,
309
- "skipped": 320,
310
- "time_spent": "0:09:30, 0:09:28, ",
311
- "failures": {
312
- "multi": [
313
- {
314
- "line": "tests/models/gemma3/test_modeling_gemma3.py::Gemma3Vision2TextModelTest::test_model_parallelism",
315
- "trace": "(line 925) RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0!"
316
- }
317
- ]
318
- },
319
- "job_link": {
320
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216642",
321
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216593"
322
- }
323
- },
324
- "models_gemma3n": {
325
- "failed": {
326
- "PyTorch": {
327
- "unclassified": 0,
328
- "single": 1,
329
- "multi": 0
330
- },
331
- "TensorFlow": {
332
- "unclassified": 0,
333
- "single": 0,
334
- "multi": 0
335
- },
336
- "Flax": {
337
- "unclassified": 0,
338
- "single": 0,
339
- "multi": 0
340
- },
341
- "Tokenizers": {
342
- "unclassified": 0,
343
- "single": 0,
344
- "multi": 0
345
- },
346
- "Pipelines": {
347
- "unclassified": 0,
348
- "single": 0,
349
- "multi": 0
350
- },
351
- "Trainer": {
352
- "unclassified": 0,
353
- "single": 0,
354
- "multi": 0
355
- },
356
- "ONNX": {
357
- "unclassified": 0,
358
- "single": 0,
359
- "multi": 0
360
- },
361
- "Auto": {
362
- "unclassified": 0,
363
- "single": 0,
364
- "multi": 0
365
- },
366
- "Quantization": {
367
- "unclassified": 0,
368
- "single": 0,
369
- "multi": 0
370
- },
371
- "Unclassified": {
372
- "unclassified": 0,
373
- "single": 0,
374
- "multi": 0
375
- }
376
- },
377
- "errors": 0,
378
- "success": 288,
379
- "skipped": 703,
380
- "time_spent": "0:02:15, 0:02:15, ",
381
- "failures": {
382
- "single": [
383
- {
384
- "line": "tests/models/gemma3n/test_modeling_gemma3n.py::Gemma3nTextModelTest::test_sdpa_padding_matches_padding_free_with_position_ids",
385
- "trace": "(line 4243) AssertionError: Tensor-likes are not close!"
386
- }
387
- ]
388
- },
389
- "job_link": {
390
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216605",
391
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216660"
392
- }
393
- },
394
- "models_got_ocr2": {
395
- "failed": {
396
- "PyTorch": {
397
- "unclassified": 0,
398
- "single": 0,
399
- "multi": 0
400
- },
401
- "TensorFlow": {
402
- "unclassified": 0,
403
- "single": 0,
404
- "multi": 0
405
- },
406
- "Flax": {
407
- "unclassified": 0,
408
- "single": 0,
409
- "multi": 0
410
- },
411
- "Tokenizers": {
412
- "unclassified": 0,
413
- "single": 0,
414
- "multi": 0
415
- },
416
- "Pipelines": {
417
- "unclassified": 0,
418
- "single": 0,
419
- "multi": 0
420
- },
421
- "Trainer": {
422
- "unclassified": 0,
423
- "single": 0,
424
- "multi": 0
425
- },
426
- "ONNX": {
427
- "unclassified": 0,
428
- "single": 0,
429
- "multi": 0
430
- },
431
- "Auto": {
432
- "unclassified": 0,
433
- "single": 0,
434
- "multi": 0
435
- },
436
- "Quantization": {
437
- "unclassified": 0,
438
- "single": 0,
439
- "multi": 0
440
- },
441
- "Unclassified": {
442
- "unclassified": 0,
443
- "single": 0,
444
- "multi": 0
445
- }
446
- },
447
- "errors": 0,
448
- "success": 257,
449
- "skipped": 333,
450
- "time_spent": "0:01:49, 0:01:49, ",
451
- "failures": {},
452
- "job_link": {
453
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216911",
454
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216742"
455
- }
456
- },
457
- "models_gpt2": {
458
- "failed": {
459
- "PyTorch": {
460
- "unclassified": 0,
461
- "single": 0,
462
- "multi": 0
463
- },
464
- "TensorFlow": {
465
- "unclassified": 0,
466
- "single": 0,
467
- "multi": 0
468
- },
469
- "Flax": {
470
- "unclassified": 0,
471
- "single": 0,
472
- "multi": 0
473
- },
474
- "Tokenizers": {
475
- "unclassified": 0,
476
- "single": 0,
477
- "multi": 0
478
- },
479
- "Pipelines": {
480
- "unclassified": 0,
481
- "single": 0,
482
- "multi": 0
483
- },
484
- "Trainer": {
485
- "unclassified": 0,
486
- "single": 0,
487
- "multi": 0
488
- },
489
- "ONNX": {
490
- "unclassified": 0,
491
- "single": 0,
492
- "multi": 0
493
- },
494
- "Auto": {
495
- "unclassified": 0,
496
- "single": 0,
497
- "multi": 0
498
- },
499
- "Quantization": {
500
- "unclassified": 0,
501
- "single": 0,
502
- "multi": 0
503
- },
504
- "Unclassified": {
505
- "unclassified": 0,
506
- "single": 0,
507
- "multi": 0
508
- }
509
- },
510
- "errors": 0,
511
- "success": 487,
512
- "skipped": 229,
513
- "time_spent": "0:02:11, 0:02:01, ",
514
- "failures": {},
515
- "job_link": {
516
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216717",
517
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216759"
518
- }
519
- },
520
- "models_internvl": {
521
- "failed": {
522
- "PyTorch": {
523
- "unclassified": 0,
524
- "single": 1,
525
- "multi": 1
526
- },
527
- "TensorFlow": {
528
- "unclassified": 0,
529
- "single": 0,
530
- "multi": 0
531
- },
532
- "Flax": {
533
- "unclassified": 0,
534
- "single": 0,
535
- "multi": 0
536
- },
537
- "Tokenizers": {
538
- "unclassified": 0,
539
- "single": 0,
540
- "multi": 0
541
- },
542
- "Pipelines": {
543
- "unclassified": 0,
544
- "single": 0,
545
- "multi": 0
546
- },
547
- "Trainer": {
548
- "unclassified": 0,
549
- "single": 0,
550
- "multi": 0
551
- },
552
- "ONNX": {
553
- "unclassified": 0,
554
- "single": 0,
555
- "multi": 0
556
- },
557
- "Auto": {
558
- "unclassified": 0,
559
- "single": 0,
560
- "multi": 0
561
- },
562
- "Quantization": {
563
- "unclassified": 0,
564
- "single": 0,
565
- "multi": 0
566
- },
567
- "Unclassified": {
568
- "unclassified": 0,
569
- "single": 0,
570
- "multi": 0
571
- }
572
- },
573
- "errors": 0,
574
- "success": 355,
575
- "skipped": 241,
576
- "time_spent": "0:04:33, 0:04:31, ",
577
- "failures": {
578
- "multi": [
579
- {
580
- "line": "tests/models/internvl/test_modeling_internvl.py::InternVLModelTest::test_flex_attention_with_grads",
581
- "trace": "(line 439) torch._inductor.exc.InductorError: RuntimeError: No valid triton configs. OutOfResources: out of resource: shared memory, Required: 106496, Hardware limit: 101376. Reducing block sizes or `num_stages` may help."
582
- }
583
- ],
584
- "single": [
585
- {
586
- "line": "tests/models/internvl/test_modeling_internvl.py::InternVLModelTest::test_flex_attention_with_grads",
587
- "trace": "(line 439) torch._inductor.exc.InductorError: RuntimeError: No valid triton configs. OutOfResources: out of resource: shared memory, Required: 106496, Hardware limit: 101376. Reducing block sizes or `num_stages` may help."
588
- }
589
- ]
590
- },
591
- "job_link": {
592
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217017",
593
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217056"
594
- }
595
- },
596
- "models_llama": {
597
- "failed": {
598
- "PyTorch": {
599
- "unclassified": 0,
600
- "single": 0,
601
- "multi": 0
602
- },
603
- "TensorFlow": {
604
- "unclassified": 0,
605
- "single": 0,
606
- "multi": 0
607
- },
608
- "Flax": {
609
- "unclassified": 0,
610
- "single": 0,
611
- "multi": 0
612
- },
613
- "Tokenizers": {
614
- "unclassified": 0,
615
- "single": 0,
616
- "multi": 0
617
- },
618
- "Pipelines": {
619
- "unclassified": 0,
620
- "single": 0,
621
- "multi": 0
622
- },
623
- "Trainer": {
624
- "unclassified": 0,
625
- "single": 0,
626
- "multi": 0
627
- },
628
- "ONNX": {
629
- "unclassified": 0,
630
- "single": 0,
631
- "multi": 0
632
- },
633
- "Auto": {
634
- "unclassified": 0,
635
- "single": 0,
636
- "multi": 0
637
- },
638
- "Quantization": {
639
- "unclassified": 0,
640
- "single": 0,
641
- "multi": 0
642
- },
643
- "Unclassified": {
644
- "unclassified": 0,
645
- "single": 0,
646
- "multi": 0
647
- }
648
- },
649
- "errors": 0,
650
- "success": 481,
651
- "skipped": 253,
652
- "time_spent": "0:03:43, 0:03:37, ",
653
- "failures": {},
654
- "job_link": {
655
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217239",
656
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217242"
657
- }
658
- },
659
- "models_llava": {
660
- "failed": {
661
- "PyTorch": {
662
- "unclassified": 0,
663
- "single": 0,
664
- "multi": 0
665
- },
666
- "TensorFlow": {
667
- "unclassified": 0,
668
- "single": 0,
669
- "multi": 0
670
- },
671
- "Flax": {
672
- "unclassified": 0,
673
- "single": 0,
674
- "multi": 0
675
- },
676
- "Tokenizers": {
677
- "unclassified": 0,
678
- "single": 0,
679
- "multi": 0
680
- },
681
- "Pipelines": {
682
- "unclassified": 0,
683
- "single": 0,
684
- "multi": 0
685
- },
686
- "Trainer": {
687
- "unclassified": 0,
688
- "single": 0,
689
- "multi": 0
690
- },
691
- "ONNX": {
692
- "unclassified": 0,
693
- "single": 0,
694
- "multi": 0
695
- },
696
- "Auto": {
697
- "unclassified": 0,
698
- "single": 0,
699
- "multi": 0
700
- },
701
- "Quantization": {
702
- "unclassified": 0,
703
- "single": 0,
704
- "multi": 0
705
- },
706
- "Unclassified": {
707
- "unclassified": 0,
708
- "single": 0,
709
- "multi": 0
710
- }
711
- },
712
- "errors": 0,
713
- "success": 349,
714
- "skipped": 159,
715
- "time_spent": "0:08:59, 0:09:11, ",
716
- "failures": {},
717
- "job_link": {
718
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217250",
719
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217263"
720
- }
721
- },
722
- "models_mistral3": {
723
- "failed": {
724
- "PyTorch": {
725
- "unclassified": 0,
726
- "single": 0,
727
- "multi": 0
728
- },
729
- "TensorFlow": {
730
- "unclassified": 0,
731
- "single": 0,
732
- "multi": 0
733
- },
734
- "Flax": {
735
- "unclassified": 0,
736
- "single": 0,
737
- "multi": 0
738
- },
739
- "Tokenizers": {
740
- "unclassified": 0,
741
- "single": 0,
742
- "multi": 0
743
- },
744
- "Pipelines": {
745
- "unclassified": 0,
746
- "single": 0,
747
- "multi": 0
748
- },
749
- "Trainer": {
750
- "unclassified": 0,
751
- "single": 0,
752
- "multi": 0
753
- },
754
- "ONNX": {
755
- "unclassified": 0,
756
- "single": 0,
757
- "multi": 0
758
- },
759
- "Auto": {
760
- "unclassified": 0,
761
- "single": 0,
762
- "multi": 0
763
- },
764
- "Quantization": {
765
- "unclassified": 0,
766
- "single": 0,
767
- "multi": 0
768
- },
769
- "Unclassified": {
770
- "unclassified": 0,
771
- "single": 0,
772
- "multi": 0
773
- }
774
- },
775
- "errors": 0,
776
- "success": 283,
777
- "skipped": 267,
778
- "time_spent": "0:09:53, 0:09:40, ",
779
- "failures": {},
780
- "job_link": {
781
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215108",
782
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215124"
783
- }
784
- },
785
- "models_modernbert": {
786
- "failed": {
787
- "PyTorch": {
788
- "unclassified": 0,
789
- "single": 0,
790
- "multi": 0
791
- },
792
- "TensorFlow": {
793
- "unclassified": 0,
794
- "single": 0,
795
- "multi": 0
796
- },
797
- "Flax": {
798
- "unclassified": 0,
799
- "single": 0,
800
- "multi": 0
801
- },
802
- "Tokenizers": {
803
- "unclassified": 0,
804
- "single": 0,
805
- "multi": 0
806
- },
807
- "Pipelines": {
808
- "unclassified": 0,
809
- "single": 0,
810
- "multi": 0
811
- },
812
- "Trainer": {
813
- "unclassified": 0,
814
- "single": 0,
815
- "multi": 0
816
- },
817
- "ONNX": {
818
- "unclassified": 0,
819
- "single": 0,
820
- "multi": 0
821
- },
822
- "Auto": {
823
- "unclassified": 0,
824
- "single": 0,
825
- "multi": 0
826
- },
827
- "Quantization": {
828
- "unclassified": 0,
829
- "single": 0,
830
- "multi": 0
831
- },
832
- "Unclassified": {
833
- "unclassified": 0,
834
- "single": 0,
835
- "multi": 0
836
- }
837
- },
838
- "errors": 0,
839
- "success": 174,
840
- "skipped": 218,
841
- "time_spent": "0:01:27, 0:01:24, ",
842
- "failures": {},
843
- "job_link": {
844
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215158",
845
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215123"
846
- }
847
- },
848
- "models_qwen2": {
849
- "failed": {
850
- "PyTorch": {
851
- "unclassified": 0,
852
- "single": 0,
853
- "multi": 0
854
- },
855
- "TensorFlow": {
856
- "unclassified": 0,
857
- "single": 0,
858
- "multi": 0
859
- },
860
- "Flax": {
861
- "unclassified": 0,
862
- "single": 0,
863
- "multi": 0
864
- },
865
- "Tokenizers": {
866
- "unclassified": 0,
867
- "single": 0,
868
- "multi": 0
869
- },
870
- "Pipelines": {
871
- "unclassified": 0,
872
- "single": 0,
873
- "multi": 0
874
- },
875
- "Trainer": {
876
- "unclassified": 0,
877
- "single": 0,
878
- "multi": 0
879
- },
880
- "ONNX": {
881
- "unclassified": 0,
882
- "single": 0,
883
- "multi": 0
884
- },
885
- "Auto": {
886
- "unclassified": 0,
887
- "single": 0,
888
- "multi": 0
889
- },
890
- "Quantization": {
891
- "unclassified": 0,
892
- "single": 0,
893
- "multi": 0
894
- },
895
- "Unclassified": {
896
- "unclassified": 0,
897
- "single": 0,
898
- "multi": 0
899
- }
900
- },
901
- "errors": 0,
902
- "success": 443,
903
- "skipped": 251,
904
- "time_spent": "0:02:16, 0:02:16, ",
905
- "failures": {},
906
- "job_link": {
907
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215909",
908
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215891"
909
- }
910
- },
911
- "models_qwen2_5_omni": {
912
- "failed": {
913
- "PyTorch": {
914
- "unclassified": 0,
915
- "single": 0,
916
- "multi": 1
917
- },
918
- "TensorFlow": {
919
- "unclassified": 0,
920
- "single": 0,
921
- "multi": 0
922
- },
923
- "Flax": {
924
- "unclassified": 0,
925
- "single": 0,
926
- "multi": 0
927
- },
928
- "Tokenizers": {
929
- "unclassified": 0,
930
- "single": 0,
931
- "multi": 0
932
- },
933
- "Pipelines": {
934
- "unclassified": 0,
935
- "single": 0,
936
- "multi": 0
937
- },
938
- "Trainer": {
939
- "unclassified": 0,
940
- "single": 0,
941
- "multi": 0
942
- },
943
- "ONNX": {
944
- "unclassified": 0,
945
- "single": 0,
946
- "multi": 0
947
- },
948
- "Auto": {
949
- "unclassified": 0,
950
- "single": 0,
951
- "multi": 0
952
- },
953
- "Quantization": {
954
- "unclassified": 0,
955
- "single": 0,
956
- "multi": 0
957
- },
958
- "Unclassified": {
959
- "unclassified": 0,
960
- "single": 0,
961
- "multi": 0
962
- }
963
- },
964
- "errors": 0,
965
- "success": 278,
966
- "skipped": 159,
967
- "time_spent": "0:02:55, 0:03:00, ",
968
- "failures": {
969
- "multi": [
970
- {
971
- "line": "tests/models/qwen2_5_omni/test_modeling_qwen2_5_omni.py::Qwen2_5OmniThinkerForConditionalGenerationModelTest::test_model_parallelism",
972
- "trace": "(line 675) AssertionError: Items in the second set but not the first:"
973
- }
974
- ]
975
- },
976
- "job_link": {
977
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215907",
978
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215896"
979
- }
980
- },
981
- "models_qwen2_5_vl": {
982
- "failed": {
983
- "PyTorch": {
984
- "unclassified": 0,
985
- "single": 1,
986
- "multi": 1
987
- },
988
- "TensorFlow": {
989
- "unclassified": 0,
990
- "single": 0,
991
- "multi": 0
992
- },
993
- "Flax": {
994
- "unclassified": 0,
995
- "single": 0,
996
- "multi": 0
997
- },
998
- "Tokenizers": {
999
- "unclassified": 0,
1000
- "single": 0,
1001
- "multi": 0
1002
- },
1003
- "Pipelines": {
1004
- "unclassified": 0,
1005
- "single": 0,
1006
- "multi": 0
1007
- },
1008
- "Trainer": {
1009
- "unclassified": 0,
1010
- "single": 0,
1011
- "multi": 0
1012
- },
1013
- "ONNX": {
1014
- "unclassified": 0,
1015
- "single": 0,
1016
- "multi": 0
1017
- },
1018
- "Auto": {
1019
- "unclassified": 0,
1020
- "single": 0,
1021
- "multi": 0
1022
- },
1023
- "Quantization": {
1024
- "unclassified": 0,
1025
- "single": 0,
1026
- "multi": 0
1027
- },
1028
- "Unclassified": {
1029
- "unclassified": 0,
1030
- "single": 0,
1031
- "multi": 0
1032
- }
1033
- },
1034
- "errors": 0,
1035
- "success": 309,
1036
- "skipped": 141,
1037
- "time_spent": "0:03:13, 0:03:14, ",
1038
- "failures": {
1039
- "multi": [
1040
- {
1041
- "line": "tests/models/qwen2_5_vl/test_modeling_qwen2_5_vl.py::Qwen2_5_VLIntegrationTest::test_small_model_integration_test_batch_different_resolutions",
1042
- "trace": "(line 675) AssertionError: Lists differ: ['sys[314 chars]ion\\n addCriterion\\n\\n addCriterion\\n\\n addCri[75 chars]n\\n'] != ['sys[314 chars]ion\\nThe dog in the picture appears to be a La[81 chars] is']"
1043
- }
1044
- ],
1045
- "single": [
1046
- {
1047
- "line": "tests/models/qwen2_5_vl/test_modeling_qwen2_5_vl.py::Qwen2_5_VLIntegrationTest::test_small_model_integration_test_batch_different_resolutions",
1048
- "trace": "(line 675) AssertionError: Lists differ: ['sys[314 chars]ion\\n addCriterion\\n\\n addCriterion\\n\\n addCri[75 chars]n\\n'] != ['sys[314 chars]ion\\nThe dog in the picture appears to be a La[81 chars] is']"
1049
- }
1050
- ]
1051
- },
1052
- "job_link": {
1053
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215945",
1054
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301215911"
1055
- }
1056
- },
1057
- "models_smolvlm": {
1058
- "failed": {
1059
- "PyTorch": {
1060
- "unclassified": 0,
1061
- "single": 0,
1062
- "multi": 0
1063
- },
1064
- "TensorFlow": {
1065
- "unclassified": 0,
1066
- "single": 0,
1067
- "multi": 0
1068
- },
1069
- "Flax": {
1070
- "unclassified": 0,
1071
- "single": 0,
1072
- "multi": 0
1073
- },
1074
- "Tokenizers": {
1075
- "unclassified": 0,
1076
- "single": 0,
1077
- "multi": 0
1078
- },
1079
- "Pipelines": {
1080
- "unclassified": 0,
1081
- "single": 0,
1082
- "multi": 0
1083
- },
1084
- "Trainer": {
1085
- "unclassified": 0,
1086
- "single": 0,
1087
- "multi": 0
1088
- },
1089
- "ONNX": {
1090
- "unclassified": 0,
1091
- "single": 0,
1092
- "multi": 0
1093
- },
1094
- "Auto": {
1095
- "unclassified": 0,
1096
- "single": 0,
1097
- "multi": 0
1098
- },
1099
- "Quantization": {
1100
- "unclassified": 0,
1101
- "single": 0,
1102
- "multi": 0
1103
- },
1104
- "Unclassified": {
1105
- "unclassified": 0,
1106
- "single": 0,
1107
- "multi": 0
1108
- }
1109
- },
1110
- "errors": 0,
1111
- "success": 497,
1112
- "skipped": 269,
1113
- "time_spent": "0:01:33, 0:01:36, ",
1114
- "failures": {},
1115
- "job_link": {
1116
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216282",
1117
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216321"
1118
- }
1119
- },
1120
- "models_t5": {
1121
- "failed": {
1122
- "PyTorch": {
1123
- "unclassified": 0,
1124
- "single": 1,
1125
- "multi": 2
1126
- },
1127
- "TensorFlow": {
1128
- "unclassified": 0,
1129
- "single": 0,
1130
- "multi": 0
1131
- },
1132
- "Flax": {
1133
- "unclassified": 0,
1134
- "single": 0,
1135
- "multi": 0
1136
- },
1137
- "Tokenizers": {
1138
- "unclassified": 0,
1139
- "single": 0,
1140
- "multi": 0
1141
- },
1142
- "Pipelines": {
1143
- "unclassified": 0,
1144
- "single": 0,
1145
- "multi": 0
1146
- },
1147
- "Trainer": {
1148
- "unclassified": 0,
1149
- "single": 0,
1150
- "multi": 0
1151
- },
1152
- "ONNX": {
1153
- "unclassified": 0,
1154
- "single": 0,
1155
- "multi": 0
1156
- },
1157
- "Auto": {
1158
- "unclassified": 0,
1159
- "single": 0,
1160
- "multi": 0
1161
- },
1162
- "Quantization": {
1163
- "unclassified": 0,
1164
- "single": 0,
1165
- "multi": 0
1166
- },
1167
- "Unclassified": {
1168
- "unclassified": 0,
1169
- "single": 0,
1170
- "multi": 0
1171
- }
1172
- },
1173
- "errors": 0,
1174
- "success": 592,
1175
- "skipped": 535,
1176
- "time_spent": "0:03:13, 0:02:52, ",
1177
- "failures": {
1178
- "multi": [
1179
- {
1180
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelTest::test_multi_gpu_data_parallel_forward",
1181
- "trace": "(line 131) TypeError: EncoderDecoderCache.__init__() missing 1 required positional argument: 'cross_attention_cache'"
1182
- },
1183
- {
1184
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_export_t5_summarization",
1185
- "trace": "(line 687) AttributeError: 'dict' object has no attribute 'batch_size'"
1186
- }
1187
- ],
1188
- "single": [
1189
- {
1190
- "line": "tests/models/t5/test_modeling_t5.py::T5ModelIntegrationTests::test_export_t5_summarization",
1191
- "trace": "(line 687) AttributeError: 'dict' object has no attribute 'batch_size'"
1192
- }
1193
- ]
1194
- },
1195
- "job_link": {
1196
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216565",
1197
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216464"
1198
- }
1199
- },
1200
- "models_vit": {
1201
- "failed": {
1202
- "PyTorch": {
1203
- "unclassified": 0,
1204
- "single": 0,
1205
- "multi": 0
1206
- },
1207
- "TensorFlow": {
1208
- "unclassified": 0,
1209
- "single": 0,
1210
- "multi": 0
1211
- },
1212
- "Flax": {
1213
- "unclassified": 0,
1214
- "single": 0,
1215
- "multi": 0
1216
- },
1217
- "Tokenizers": {
1218
- "unclassified": 0,
1219
- "single": 0,
1220
- "multi": 0
1221
- },
1222
- "Pipelines": {
1223
- "unclassified": 0,
1224
- "single": 0,
1225
- "multi": 0
1226
- },
1227
- "Trainer": {
1228
- "unclassified": 0,
1229
- "single": 0,
1230
- "multi": 0
1231
- },
1232
- "ONNX": {
1233
- "unclassified": 0,
1234
- "single": 0,
1235
- "multi": 0
1236
- },
1237
- "Auto": {
1238
- "unclassified": 0,
1239
- "single": 0,
1240
- "multi": 0
1241
- },
1242
- "Quantization": {
1243
- "unclassified": 0,
1244
- "single": 0,
1245
- "multi": 0
1246
- },
1247
- "Unclassified": {
1248
- "unclassified": 0,
1249
- "single": 0,
1250
- "multi": 0
1251
- }
1252
- },
1253
- "errors": 0,
1254
- "success": 217,
1255
- "skipped": 199,
1256
- "time_spent": "2.03, 1.28, ",
1257
- "failures": {},
1258
- "job_link": {
1259
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216869",
1260
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216833"
1261
- }
1262
- },
1263
- "models_wav2vec2": {
1264
- "failed": {
1265
- "PyTorch": {
1266
- "unclassified": 0,
1267
- "single": 4,
1268
- "multi": 4
1269
- },
1270
- "TensorFlow": {
1271
- "unclassified": 0,
1272
- "single": 0,
1273
- "multi": 0
1274
- },
1275
- "Flax": {
1276
- "unclassified": 0,
1277
- "single": 0,
1278
- "multi": 0
1279
- },
1280
- "Tokenizers": {
1281
- "unclassified": 0,
1282
- "single": 0,
1283
- "multi": 0
1284
- },
1285
- "Pipelines": {
1286
- "unclassified": 0,
1287
- "single": 0,
1288
- "multi": 0
1289
- },
1290
- "Trainer": {
1291
- "unclassified": 0,
1292
- "single": 0,
1293
- "multi": 0
1294
- },
1295
- "ONNX": {
1296
- "unclassified": 0,
1297
- "single": 0,
1298
- "multi": 0
1299
- },
1300
- "Auto": {
1301
- "unclassified": 0,
1302
- "single": 0,
1303
- "multi": 0
1304
- },
1305
- "Quantization": {
1306
- "unclassified": 0,
1307
- "single": 0,
1308
- "multi": 0
1309
- },
1310
- "Unclassified": {
1311
- "unclassified": 0,
1312
- "single": 0,
1313
- "multi": 0
1314
- }
1315
- },
1316
- "errors": 0,
1317
- "success": 672,
1318
- "skipped": 438,
1319
- "time_spent": "0:03:37, 0:03:36, ",
1320
- "failures": {
1321
- "multi": [
1322
- {
1323
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_inference_mms_1b_all",
1324
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1325
- },
1326
- {
1327
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm",
1328
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1329
- },
1330
- {
1331
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm_invalid_pool",
1332
- "trace": "(line 675) AssertionError: Traceback (most recent call last):"
1333
- },
1334
- {
1335
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm_pool",
1336
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1337
- }
1338
- ],
1339
- "single": [
1340
- {
1341
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_inference_mms_1b_all",
1342
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1343
- },
1344
- {
1345
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm",
1346
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1347
- },
1348
- {
1349
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm_invalid_pool",
1350
- "trace": "(line 675) AssertionError: Traceback (most recent call last):"
1351
- },
1352
- {
1353
- "line": "tests/models/wav2vec2/test_modeling_wav2vec2.py::Wav2Vec2ModelIntegrationTest::test_wav2vec2_with_lm_pool",
1354
- "trace": "(line 989) RuntimeError: Dataset scripts are no longer supported, but found common_voice_11_0.py"
1355
- }
1356
- ]
1357
- },
1358
- "job_link": {
1359
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216956",
1360
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216929"
1361
- }
1362
- },
1363
- "models_whisper": {
1364
- "failed": {
1365
- "PyTorch": {
1366
- "unclassified": 0,
1367
- "single": 5,
1368
- "multi": 6
1369
- },
1370
- "TensorFlow": {
1371
- "unclassified": 0,
1372
- "single": 0,
1373
- "multi": 0
1374
- },
1375
- "Flax": {
1376
- "unclassified": 0,
1377
- "single": 0,
1378
- "multi": 0
1379
- },
1380
- "Tokenizers": {
1381
- "unclassified": 0,
1382
- "single": 0,
1383
- "multi": 0
1384
- },
1385
- "Pipelines": {
1386
- "unclassified": 0,
1387
- "single": 0,
1388
- "multi": 0
1389
- },
1390
- "Trainer": {
1391
- "unclassified": 0,
1392
- "single": 0,
1393
- "multi": 0
1394
- },
1395
- "ONNX": {
1396
- "unclassified": 0,
1397
- "single": 0,
1398
- "multi": 0
1399
- },
1400
- "Auto": {
1401
- "unclassified": 0,
1402
- "single": 0,
1403
- "multi": 0
1404
- },
1405
- "Quantization": {
1406
- "unclassified": 0,
1407
- "single": 0,
1408
- "multi": 0
1409
- },
1410
- "Unclassified": {
1411
- "unclassified": 0,
1412
- "single": 0,
1413
- "multi": 0
1414
- }
1415
- },
1416
- "errors": 0,
1417
- "success": 1014,
1418
- "skipped": 475,
1419
- "time_spent": "0:11:09, 0:11:47, ",
1420
- "failures": {
1421
- "single": [
1422
- {
1423
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation_multilingual",
1424
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1425
- },
1426
- {
1427
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_longform_timestamps_generation",
1428
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1429
- },
1430
- {
1431
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_longform_timestamps_generation",
1432
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1433
- },
1434
- {
1435
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard",
1436
- "trace": "(line 675) AssertionError: Lists differ: [\" Fo[272 chars]ting of classics, Sicilian, nade door variatio[8147 chars]le!'] != [\" Fo[272 chars]ting a classic Sicilian, nade door variation o[8150 chars]le!']"
1437
- },
1438
- {
1439
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_single_batch_prev_cond",
1440
- "trace": "(line 675) AssertionError: Lists differ: [\" Fo[268 chars]ating, so soft, it would make JD power and her[196 chars]ke.\"] != [\" Fo[268 chars]ating so soft, it would make JD power and her [195 chars]ke.\"]"
1441
- }
1442
- ],
1443
- "multi": [
1444
- {
1445
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelTest::test_multi_gpu_data_parallel_forward",
1446
- "trace": "(line 131) TypeError: EncoderDecoderCache.__init__() missing 1 required positional argument: 'cross_attention_cache'"
1447
- },
1448
- {
1449
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_large_batched_generation_multilingual",
1450
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1451
- },
1452
- {
1453
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_small_longform_timestamps_generation",
1454
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1455
- },
1456
- {
1457
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_tiny_longform_timestamps_generation",
1458
- "trace": "(line 756) RuntimeError: The frame has 0 channels, expected 1. If you are hitting this, it may be because you are using a buggy FFmpeg version. FFmpeg4 is known to fail here in some valid scenarios. Try to upgrade FFmpeg?"
1459
- },
1460
- {
1461
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_longform_multi_batch_hard",
1462
- "trace": "(line 675) AssertionError: Lists differ: [\" Fo[272 chars]ting of classics, Sicilian, nade door variatio[8147 chars]le!'] != [\" Fo[272 chars]ting a classic Sicilian, nade door variation o[8150 chars]le!']"
1463
- },
1464
- {
1465
- "line": "tests/models/whisper/test_modeling_whisper.py::WhisperModelIntegrationTests::test_whisper_shortform_single_batch_prev_cond",
1466
- "trace": "(line 675) AssertionError: Lists differ: [\" Fo[268 chars]ating, so soft, it would make JD power and her[196 chars]ke.\"] != [\" Fo[268 chars]ating so soft, it would make JD power and her [195 chars]ke.\"]"
1467
- }
1468
- ]
1469
- },
1470
- "job_link": {
1471
- "single": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301216943",
1472
- "multi": "https://github.com/huggingface/transformers/actions/runs/16712955100/job/47301217012"
1473
- }
1474
- }
1475
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
styles.css CHANGED
@@ -1,6 +1,7 @@
1
  /* Global dark theme with configurable margins */
2
  :root {
3
  --main-content-bottom-margin: 10px; /* Configurable bottom margin for main content */
 
4
  }
5
 
6
  .gradio-container {
@@ -376,6 +377,12 @@ div[data-testid="column"]:has(.sidebar) {
376
  transition: opacity 0.6s ease-in-out !important;
377
  flex: 1 1 auto !important;
378
  min-height: 0 !important;
 
 
 
 
 
 
379
  }
380
 
381
  /* Plot container scrollbar removed - using overflow: hidden */
@@ -384,15 +391,25 @@ div[data-testid="column"]:has(.sidebar) {
384
  .gr-plot {
385
  background-color: #000000 !important;
386
  transition: opacity 0.6s ease-in-out !important;
 
 
 
 
 
387
  }
388
 
389
  .gr-plot .gradio-plot {
390
  background-color: #000000 !important;
391
  transition: opacity 0.6s ease-in-out !important;
 
 
392
  }
393
 
394
  .gr-plot img {
395
  transition: opacity 0.6s ease-in-out !important;
 
 
 
396
  }
397
 
398
  /* Target the plot wrapper */
 
1
  /* Global dark theme with configurable margins */
2
  :root {
3
  --main-content-bottom-margin: 10px; /* Configurable bottom margin for main content */
4
+ --plot-padding: 10%; /* Configurable padding for plot centering in percent */
5
  }
6
 
7
  .gradio-container {
 
377
  transition: opacity 0.6s ease-in-out !important;
378
  flex: 1 1 auto !important;
379
  min-height: 0 !important;
380
+ overflow: hidden !important;
381
+ padding: var(--plot-padding) !important;
382
+ box-sizing: border-box !important;
383
+ display: flex !important;
384
+ justify-content: center !important;
385
+ align-items: center !important;
386
  }
387
 
388
  /* Plot container scrollbar removed - using overflow: hidden */
 
391
  .gr-plot {
392
  background-color: #000000 !important;
393
  transition: opacity 0.6s ease-in-out !important;
394
+ width: 100% !important;
395
+ height: 100% !important;
396
+ display: flex !important;
397
+ justify-content: center !important;
398
+ align-items: center !important;
399
  }
400
 
401
  .gr-plot .gradio-plot {
402
  background-color: #000000 !important;
403
  transition: opacity 0.6s ease-in-out !important;
404
+ width: 100% !important;
405
+ height: 100% !important;
406
  }
407
 
408
  .gr-plot img {
409
  transition: opacity 0.6s ease-in-out !important;
410
+ max-width: 100% !important;
411
+ max-height: 100% !important;
412
+ object-fit: contain !important;
413
  }
414
 
415
  /* Target the plot wrapper */
summary_page.py DELETED
@@ -1,208 +0,0 @@
1
- import pandas as pd
2
- from data import extract_model_data
3
- import matplotlib.pyplot as plt
4
-
5
- # Layout parameters
6
- COLUMNS = 3
7
-
8
- # Derived constants
9
- COLUMN_WIDTH = 100 / COLUMNS # Each column takes 25% of width
10
- BAR_WIDTH = COLUMN_WIDTH * 0.8 # 80% of column width for bars
11
- BAR_MARGIN = COLUMN_WIDTH * 0.1 # 10% margin on each side
12
-
13
- # Figure dimensions
14
- FIGURE_WIDTH = 22 # Wider to accommodate columns and legend
15
- MAX_HEIGHT = 14 # Maximum height in inches
16
- MIN_HEIGHT_PER_ROW = 2.8
17
- FIGURE_PADDING = 1
18
-
19
- # Bar styling
20
- BAR_HEIGHT_RATIO = 0.22 # Bar height as ratio of vertical spacing
21
- VERTICAL_SPACING_RATIO = 0.2 # Base vertical position ratio
22
- AMD_BAR_OFFSET = 0.25 # AMD bar offset ratio
23
- NVIDIA_BAR_OFFSET = 0.54 # NVIDIA bar offset ratio
24
-
25
- # Colors
26
- COLORS = {
27
- 'passed': '#4CAF50',
28
- 'failed': '#E53E3E',
29
- 'skipped': '#FFD54F',
30
- 'error': '#8B0000',
31
- 'empty': "#5B5B5B"
32
- }
33
-
34
- # Font styling
35
- MODEL_NAME_FONT_SIZE = 16
36
- LABEL_FONT_SIZE = 14
37
- LABEL_OFFSET = 1 # Distance of label from bar
38
- FAILURE_RATE_FONT_SIZE = 28
39
-
40
-
41
- def draw_text_and_bar(
42
- label: str,
43
- stats: dict[str, int],
44
- y_bar: float,
45
- column_left_position: float,
46
- bar_height: float,
47
- ax,
48
- ) -> None:
49
- """Draw a horizontal bar chart for given stats and its label on the left."""
50
- # Text
51
- label_x = column_left_position - LABEL_OFFSET
52
- failures_present = any(stats[category] > 0 for category in ['failed', 'error'])
53
- if failures_present:
54
- props = dict(boxstyle='round', facecolor=COLORS['failed'], alpha=0.35)
55
- else:
56
- props = dict(alpha=0)
57
- ax.text(
58
- label_x, y_bar, label, ha='right', va='center', color='#CCCCCC', fontsize=LABEL_FONT_SIZE,
59
- fontfamily='monospace', fontweight='normal', bbox=props
60
- )
61
- # Bar
62
- total = sum(stats.values())
63
- if total > 0:
64
- left = column_left_position
65
- for category in ['passed', 'failed', 'skipped', 'error']:
66
- if stats[category] > 0:
67
- width = stats[category] / total * BAR_WIDTH
68
- ax.barh(y_bar, width, left=left, height=bar_height, color=COLORS[category], alpha=0.9)
69
- left += width
70
- else:
71
- ax.barh(y_bar, BAR_WIDTH, left=column_left_position, height=bar_height, color=COLORS['empty'], alpha=0.9)
72
-
73
- def create_summary_page(df: pd.DataFrame, available_models: list[str]):
74
- """Create a summary page with model names and both AMD/NVIDIA test stats bars."""
75
- return None
76
-
77
- # Calculate overall failure rates
78
- amd_counts, nvidia_counts = get_overall_stats(df, available_models)
79
-
80
- amd_failure_rate = (amd_counts[1] / sum(amd_counts)) if sum(amd_counts) > 0 else 0.0
81
- amd_failure_rate *= 100
82
- nvidia_failure_rate = (nvidia_counts[1] / sum(nvidia_counts)) if sum(nvidia_counts) > 0 else 0.0
83
- nvidia_failure_rate *= 100
84
-
85
- # Calculate dimensions for N-column layout
86
- model_count = len(available_models)
87
- rows = (model_count + COLUMNS - 1) // COLUMNS # Ceiling division
88
-
89
- # Figure dimensions - wider for columns, height based on rows
90
- height_per_row = min(MIN_HEIGHT_PER_ROW, MAX_HEIGHT / max(rows, 1))
91
- figure_height = min(MAX_HEIGHT, rows * height_per_row + FIGURE_PADDING)
92
-
93
- fig = plt.figure(figsize=(FIGURE_WIDTH, figure_height), facecolor='#000000')
94
- ax = fig.add_subplot(111)
95
- ax.set_facecolor('#000000')
96
-
97
- # Add overall failure rates at the top as a proper title
98
- failure_text = f"Overall Failure Rates: AMD {amd_failure_rate:.1f}% | NVIDIA {nvidia_failure_rate:.1f}%"
99
- ax.text(50, -1.25, failure_text, ha='center', va='top',
100
- color='#FFFFFF', fontsize=FAILURE_RATE_FONT_SIZE,
101
- fontfamily='monospace', fontweight='bold')
102
-
103
- visible_model_count = 0
104
- max_y = 0
105
-
106
- for i, model_name in enumerate(available_models):
107
- if model_name not in df.index:
108
- continue
109
-
110
- row = df.loc[model_name]
111
-
112
- # Extract and process model data
113
- amd_stats, nvidia_stats = extract_model_data(row)[:2]
114
-
115
- # Calculate position in 4-column grid
116
- col = visible_model_count % COLUMNS
117
- row = visible_model_count // COLUMNS
118
-
119
- # Calculate horizontal position for this column
120
- col_left = col * COLUMN_WIDTH + BAR_MARGIN
121
- col_center = col * COLUMN_WIDTH + COLUMN_WIDTH / 2
122
-
123
- # Calculate vertical position for this row - start from top
124
- vertical_spacing = height_per_row
125
- y_base = (VERTICAL_SPACING_RATIO + row) * vertical_spacing
126
- y_model_name = y_base # Model name above AMD bar
127
- y_amd_bar = y_base + vertical_spacing * AMD_BAR_OFFSET # AMD bar
128
- y_nvidia_bar = y_base + vertical_spacing * NVIDIA_BAR_OFFSET # NVIDIA bar
129
- max_y = max(max_y, y_nvidia_bar + vertical_spacing * 0.3)
130
-
131
- # Model name centered above the bars in this column
132
- ax.text(col_center, y_model_name, model_name.lower(),
133
- ha='center', va='center', color='#FFFFFF',
134
- fontsize=MODEL_NAME_FONT_SIZE, fontfamily='monospace', fontweight='bold')
135
-
136
- # AMD label and bar in this column
137
- bar_height = min(0.4, vertical_spacing * BAR_HEIGHT_RATIO)
138
- # Draw AMD bar
139
- draw_text_and_bar("amd", amd_stats, y_amd_bar, col_left, bar_height, ax)
140
- # Draw NVIDIA bar
141
- draw_text_and_bar("nvidia", nvidia_stats, y_nvidia_bar, col_left, bar_height, ax)
142
-
143
- # Increment counter for next visible model
144
- visible_model_count += 1
145
-
146
-
147
- # Add AMD and NVIDIA test totals in the bottom left
148
- # Calculate line spacing to align middle with legend
149
- line_height = 0.4 # Height between lines
150
- legend_y = max_y + 1
151
-
152
- # Position the two lines so their middle aligns with legend_y
153
- amd_y = legend_y - line_height / 2
154
- nvidia_y = legend_y + line_height / 2
155
-
156
- amd_totals_text = f"AMD Tests - Passed: {amd_counts[0]}, Failed: {amd_counts[1]}, Skipped: {amd_counts[2]}"
157
- nvidia_totals_text = f"NVIDIA Tests - Passed: {nvidia_counts[0]}, Failed: {nvidia_counts[1]}, Skipped: {nvidia_counts[2]}"
158
-
159
- ax.text(0, amd_y, amd_totals_text,
160
- ha='left', va='bottom', color='#CCCCCC',
161
- fontsize=14, fontfamily='monospace')
162
-
163
- ax.text(0, nvidia_y, nvidia_totals_text,
164
- ha='left', va='bottom', color='#CCCCCC',
165
- fontsize=14, fontfamily='monospace')
166
-
167
- # Add legend horizontally in bottom right corner
168
- patch_height = 0.3
169
- patch_width = 3
170
-
171
- legend_start_x = 68.7
172
- legend_y = max_y + 1
173
- legend_spacing = 10
174
- legend_font_size = 15
175
-
176
- # Legend entries
177
- legend_items = [
178
- ('passed', 'Passed'),
179
- ('failed', 'Failed'),
180
- ('skipped', 'Skipped'),
181
- ]
182
-
183
- for i, (status, label) in enumerate(legend_items):
184
- x_pos = legend_start_x + i * legend_spacing
185
- # Small colored square
186
- ax.add_patch(plt.Rectangle((x_pos - 0.6, legend_y), patch_width, -patch_height,
187
- facecolor=COLORS[status], alpha=0.9))
188
- # Status label
189
- ax.text(x_pos + patch_width, legend_y, label,
190
- ha='left', va='bottom', color='#CCCCCC',
191
- fontsize=legend_font_size, fontfamily='monospace')
192
-
193
- # Style the axes to be completely invisible and span full width
194
- ax.set_xlim(-5, 105) # Slightly wider to accommodate labels
195
- ax.set_ylim(0, max_y + 1) # Add some padding at the top for title
196
- ax.set_xlabel('')
197
- ax.set_ylabel('')
198
- ax.spines['bottom'].set_visible(False)
199
- ax.spines['left'].set_visible(False)
200
- ax.spines['top'].set_visible(False)
201
- ax.spines['right'].set_visible(False)
202
- ax.set_xticks([])
203
- ax.set_yticks([])
204
- ax.yaxis.set_inverted(True)
205
-
206
- # Remove all margins to make figure stick to top
207
- plt.tight_layout()
208
- return fig