Spaces:
Sleeping
Sleeping
Download app.py from ajaygovind/OpenModelLab: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/spaces/ajaygovind/OpenModelLab/resolve/main/app.py
- Command line
-
hf download hf://spaces/ajaygovind/OpenModelLab/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ajaygovind/OpenModelLab/resolve/main/app.py
1.64 kB
| 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 | |
| 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() | |