File size: 1,179 Bytes
c3483b0
 
 
 
 
582209c
c3483b0
582209c
c3483b0
45427dd
c3483b0
582209c
2d819a2
582209c
ddcd17e
 
582209c
 
 
 
45427dd
582209c
c3483b0
45427dd
582209c
ddcd17e
c3483b0
 
ddcd17e
45427dd
3360b16
45427dd
 
c3483b0
da6cf3f
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
import gradio as gr
import spaces
import subprocess
import requests
import datetime
import os

@spaces.GPU
def run_peft_eval():
    print("Starting evaluation...", flush=True)
    try:
        result = subprocess.run(["python3", "run_eval.py"], capture_output=True, text=True, check=True)
        print(result.stdout, flush=True)
    except subprocess.CalledProcessError as e:
        print("Eval script failed:\n", e.stderr, flush=True)
        return "Evaluation failed. Check logs."

    try:
        shutdown_url = os.environ.get("HF_ENDPOINT_SHUTDOWN")
        if shutdown_url:
            print("Triggering shutdown...", flush=True)
            requests.post(shutdown_url)
    except Exception as e:
        print("Shutdown failed:", e, flush=True)

    return f"PEFT-Bench completed at {datetime.datetime.utcnow():%Y-%m-%d %H:%M UTC}"

with gr.Blocks() as demo:
    gr.Markdown("PEFT-Bench GPU Evaluator")
    gr.Markdown("Click the button below to start evaluation. The Space will shut down when done.")
    status = gr.Textbox(label="Status", lines=2)
    btn = gr.Button("Start Evaluation")
    btn.click(fn=run_peft_eval, outputs=status)

demo.launch(show_error=True)