File size: 2,627 Bytes
6254b87
b1a1395
df66f6e
6254b87
b1a1395
 
aa7060a
6254b87
 
 
460d762
 
 
 
439afd4
460d762
 
439afd4
 
 
 
 
 
 
 
 
59399bc
439afd4
 
 
aa7060a
 
 
 
 
 
699e8ff
59399bc
b4fc70b
a3b0a0f
 
59399bc
 
 
 
 
 
 
 
 
 
8c49cb6
460d762
 
 
 
8c49cb6
460d762
 
 
8c49cb6
460d762
8c49cb6
 
 
 
 
 
 
 
 
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
70
71
72
import os
from datetime import datetime, timezone

from huggingface_hub import HfApi
from huggingface_hub.hf_api import ModelInfo

from src.envs import RESULTS_REPO, QUEUE_REPO, RAW_RESULTS_REPO

API = HfApi()

def model_hyperlink(link, model_name):
    return f'<a target="_blank" href="{link}" style="color: var(--link-text-color); text-decoration: underline;text-decoration-style: dotted;">{model_name}</a>'


def make_requests_clickable_model(model_name, json_path=None):
    link = f"https://huggingface.co/{model_name}"

    #details_model_name = model_name.replace("/", "__")
    details_link = f"https://huggingface.co/datasets/{QUEUE_REPO}/tree/main"
    if '/' in model_name:
        details_link += f"/{model_name.split('/')[0]}"
    if json_path is not None:
        details_link = f"https://huggingface.co/datasets/{QUEUE_REPO}/blob/main/{json_path}"

    return model_hyperlink(link, model_name) + "  " + model_hyperlink(details_link, "📑")

def make_clickable_model(model_name, json_path=None, revision=None, precision=None, num_evals_same_model=1):
    link = f"https://huggingface.co/{model_name}"

    #details_model_name = model_name.replace("/", "__")
    if RAW_RESULTS_REPO is not None:
        details_link = f"https://huggingface.co/datasets/{RAW_RESULTS_REPO}/tree/main/{model_name}"
    else:
        details_link = f"https://huggingface.co/datasets/{RESULTS_REPO}/tree/main/{model_name}"
        if json_path is not None:
            details_link = f"https://huggingface.co/datasets/{RESULTS_REPO}/blob/main/{model_name}/{json_path}"

    posfix = ""
    if revision is not None and revision != "" and revision != "main":
        if len(revision) > 12:
            revision = revision[:7]
        posfix += f" (rev: {revision})"
    if precision is not None:
        if num_evals_same_model == 1 and precision in ['float16', 'bfloat16']:
            pass
        else:
            #if precision not in model_name:
            posfix += f" [{precision}]"
    posfix = posfix.strip()

    return model_hyperlink(link, model_name) + "  " + model_hyperlink(details_link, "📑") + " " + posfix


def styled_error(error):
    return f"<p style='color: red; font-size: 20px; text-align: center;'>{error}</p>"


def styled_warning(warn):
    return f"<p style='color: orange; font-size: 20px; text-align: center;'>{warn}</p>"


def styled_message(message):
    return f"<p style='color: green; font-size: 20px; text-align: center;'>{message}</p>"


def has_no_nan_values(df, columns):
    return df[columns].notna().all(axis=1)


def has_nan_values(df, columns):
    return df[columns].isna().any(axis=1)