Spaces:
Running
Running
from dataclasses import dataclass | |
from enum import Enum | |
def fields(raw_class): | |
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"] | |
## All the model information that we might need | |
class ModelDetails: | |
name: str | |
display_name: str = "" | |
symbol: str = "" # emoji | |
class Precision(Enum): | |
float16 = ModelDetails("float16") | |
bfloat16 = ModelDetails("bfloat16") | |
fp8 = ModelDetails("fp8") | |
int4 = ModelDetails("int4") | |
Unknown = ModelDetails("?") | |
def from_str(precision): | |
if precision in ["torch.float16", "float16"]: | |
return Precision.float16 | |
if precision in ["torch.bfloat16", "bfloat16"]: | |
return Precision.bfloat16 | |
if precision == "fp8": | |
return Precision.fp8 | |
if precision == "int4": | |
return Precision.int4 | |
return Precision.Unknown | |