Spaces:
Sleeping
Sleeping
File size: 1,638 Bytes
068ec50 f898d1e d7a9664 068ec50 f898d1e 068ec50 d7a9664 3cff5a5 068ec50 d7a9664 068ec50 d7a9664 068ec50 d7a9664 1293585 068ec50 d7a9664 068ec50 d7a9664 068ec50 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import gradio as gr
import spaces
from openmodellab.genome.model_loader import load_model
from openmodellab.genome.analyzer import analyze_model
from openmodellab.benchmark import analyze_benchmark
@spaces.GPU
def analyze(model_name):
try:
model, tokenizer = load_model(model_name)
genome = analyze_model(
model_name,
model,
tokenizer
)
benchmark = analyze_benchmark(
model,
tokenizer
)
return f"""
## OpenModelLab Results
**Model:** `{model_name}`
### Architecture
- Parameters: {genome["model"].get("parameter_count", "N/A") / 1_000_000:.2f}M
- Architecture: {genome["model"].get("architecture", "N/A")}
### Hardware
- Device: {benchmark["hardware"].get("device")}
- GPU: {benchmark["hardware"].get("gpu_name", "N/A")}
- CUDA: {benchmark["hardware"].get("cuda_version", "N/A")}
### Benchmark
- Latency: **{benchmark["latency"]["average_ms"]} ms**
- Throughput: **{benchmark["throughput"]["samples_per_second"]} samples/sec**
- Peak GPU memory: **{benchmark["memory"].get("gpu_peak_allocated_mb", "N/A")} MB**
### Batch Scaling
{benchmark["batch_scaling"]["results"]}
[Whitepaper / DOI](https://doi.org/10.5281/zenodo.21861654)
"""
except Exception as e:
return f"Error: {type(e).__name__}: {e}"
demo = gr.Interface(
fn=analyze,
inputs=gr.Textbox(
label="Hugging Face Model",
value="sentence-transformers/all-MiniLM-L6-v2"
),
outputs=gr.Markdown(),
title="OpenModelLab",
description="AI model genome extraction and runtime benchmarking."
)
demo.launch()
|