File size: 874 Bytes
0c8d55e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from transformers import TrainingArguments
from dataclasses import dataclass


@dataclass
class TrainingConfig(TrainingArguments): ...


@dataclass
class DatasetConfig:
    data_txt: str


@dataclass
class ModelConfig:
    pretrained_model_path_or_name: str
    image_processor_path: str

    train_vision_tower: bool = False
    train_mm_projector: bool = True
    train_llm: bool = True
    train_lm_head: bool = True


@dataclass
class UnivaTrainingConfig:
    training_config: TrainingConfig
    dataset_config: DatasetConfig
    model_config: ModelConfig

    @classmethod
    def from_dict(cls, training_config: dict, dataset_config: dict, model_config: dict):
        return cls(
            training_config=TrainingConfig(**training_config),
            dataset_config=DatasetConfig(**dataset_config),
            model_config=ModelConfig(**model_config),
        )