dream
35 строк · 909.0 Байт
1from typing import Optional, Union
2from pydantic import BaseSettings, validator
3from pathlib import Path
4
5PRETRAINED_MODEL_PATH_FOLDER = ["/data/comet_commonsense", "pretrained_models"]
6
7
8class AppConfig(BaseSettings):
9SERVICE_NAME: str
10SERVICE_PORT: int
11SENTRY_DSN: Optional[str]
12
13GRAPH: str
14PRETRAINED_MODEL: str
15DECODING_ALGO: str
16
17CUDA_VISIBLE_DEVICES: Union[int, str]
18
19@validator("PRETRAINED_MODEL")
20def create_full_model_path(cls, pretrained_model_pkl):
21model_file = Path(pretrained_model_pkl).name
22return Path(*PRETRAINED_MODEL_PATH_FOLDER, model_file)
23
24@validator("CUDA_VISIBLE_DEVICES")
25def device_validator(cls, device):
26if isinstance(device, int):
27return device
28return "cpu"
29
30@property
31def device(self):
32return "cuda:0" if self.CUDA_VISIBLE_DEVICES != "cpu" else "cpu"
33
34
35settings = AppConfig()
36