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 | |