ImageNet-1k_leaderboard / utils_display.py
Bekhouche's picture
Add 12/09/2025 results
505d963
from dataclasses import dataclass
from typing import List, Any
import gradio as gr
@dataclass
class AutoEvalColumn:
"""Column definition for the main leaderboard table"""
name: str
type: str
def make_clickable_model(model_name: str) -> str:
"""
Convert model name to clickable link format for Gradio.
"""
if not model_name or model_name == "N/A":
return model_name
# Create clickable link to Hugging Face model page
huggingface_url = f"https://huggingface.co/{model_name}"
return f"[{model_name}]({huggingface_url})"
def make_clickable_paper(paper_url: str) -> str:
"""
Convert paper URL to clickable link format for Gradio.
"""
if paper_url == "N/A" or not paper_url:
return "N/A"
# Use markdown format for better Gradio compatibility
return f'[πŸ“„ Paper]({paper_url})'
def styled_error(message: str) -> str:
"""Return a styled error message"""
return f'<div style="color: red; background-color: #ffe6e6; padding: 10px; border-radius: 5px; border: 1px solid #ffcccc;">❌ {message}</div>'
def styled_message(message: str) -> str:
"""Return a styled success message"""
return f'<div style="color: green; background-color: #e6ffe6; padding: 10px; border-radius: 5px; border: 1px solid #ccffcc;">βœ… {message}</div>'
# Define the fields for the main leaderboard
fields = lambda cls: [getattr(cls, field.name) for field in cls.__dataclass_fields__.values()]
# Column definitions for ImageNet-1k leaderboard
def get_imagenet_columns() -> List[AutoEvalColumn]:
"""Get column definitions for ImageNet-1k leaderboard"""
return [
AutoEvalColumn("Model", "markdown"),
AutoEvalColumn("Top-1 Accuracy ⬆️", "number"),
AutoEvalColumn("Top-5 Accuracy ⬆️", "number"),
AutoEvalColumn("Parameters (M)", "number"),
AutoEvalColumn("FLOPs (G)", "number"),
AutoEvalColumn("Inference Time (ms)", "number"),
AutoEvalColumn("Model Size (MB)", "number"),
AutoEvalColumn("Paper", "markdown"),
AutoEvalColumn("Year", "number"),
AutoEvalColumn("License", "str")
]