Jonttup commited on
Commit
07e0f04
·
verified ·
1 Parent(s): a270266

Upload config.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. config.py +61 -0
config.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Configuration management for Palette-Reasoner
3
+ """
4
+
5
+ from dataclasses import dataclass, field
6
+ from typing import Optional
7
+
8
+
9
+ @dataclass
10
+ class ModelConfig:
11
+ """Model hyperparameters"""
12
+ hidden_dim: int = 768
13
+ patch_size: int = 4
14
+ vit_layers: int = 6
15
+ vit_heads: int = 8
16
+ trm_halt_threshold: float = 0.95
17
+ action_space: int = 512
18
+ palette_size: int = 4096
19
+
20
+
21
+ @dataclass
22
+ class TrainingConfig:
23
+ """Training hyperparameters"""
24
+ batch_size: int = 8
25
+ learning_rate: float = 1e-4
26
+ weight_decay: float = 0.01
27
+ max_epochs: int = 100
28
+ gradient_clip_norm: float = 1.0
29
+ ponder_lambda: float = 0.01
30
+ halt_entropy_lambda: float = 0.1
31
+ warmup_steps: int = 100
32
+ max_steps: int = 10000
33
+
34
+
35
+ @dataclass
36
+ class DataConfig:
37
+ """Dataset configuration"""
38
+ data_dir: str = "./data/samples"
39
+ train_split: float = 0.8
40
+ val_split: float = 0.1
41
+ test_split: float = 0.1
42
+ max_palette_height: int = 128
43
+ max_palette_width: int = 64
44
+ synthetic_samples: int = 1000
45
+
46
+
47
+ @dataclass
48
+ class Config:
49
+ """Master configuration"""
50
+ model: ModelConfig = field(default_factory=ModelConfig)
51
+ training: TrainingConfig = field(default_factory=TrainingConfig)
52
+ data: DataConfig = field(default_factory=DataConfig)
53
+ seed: int = 42
54
+ device: str = "cuda"
55
+ output_dir: str = "./outputs"
56
+ log_dir: str = "./logs"
57
+
58
+
59
+ def get_default_config() -> Config:
60
+ """Get default configuration"""
61
+ return Config()