# configs/default.yaml # Default Configuration for Geo-Layout Transformer # 1. Data Preprocessing data: patch_size: 10.0 # in microns patch_stride: 5.0 # in microns layer_mapping: "1/0": 0 # Example: GDS Layer 1, Datatype 0 -> Index 0 (e.g., M1) "2/0": 1 # Example: GDS Layer 2, Datatype 0 -> Index 1 (e.g., VIA1) "3/0": 2 # Example: GDS Layer 3, Datatype 0 -> Index 2 (e.g., M2) graph_construction: edge_strategy: "knn" # 'knn' or 'radius' knn_k: 8 # K for KNN graph construction radius_d: 1.0 # Radius for radius graph construction (in microns) # 2. Model Architecture model: # GNN Encoder gnn: node_input_dim: 5 # Initial node feature dim (e.g., x, y, w, h, area) hidden_dim: 128 output_dim: 256 # Dimension of the patch embedding num_layers: 4 gnn_type: "gat" # 'gat', 'gcn', 'graphsage' # Transformer Backbone transformer: num_layers: 6 num_heads: 8 hidden_dim: 256 # Must match gnn.output_dim dropout: 0.1 positional_encoding: type: "hybrid" # 'hybrid', 'absolute', 'relative' # 3. Training training: mode: "train" # 'train', 'eval', 'pretrain' batch_size: 32 learning_rate: 0.0001 epochs: 100 optimizer: "adamw" loss_function: "bce" # 'bce', 'focal_loss' weight_decay: 0.01 scheduler: "cosine" # 'step', 'cosine' scheduler_T_0: 10 scheduler_T_mult: 2 early_stopping_patience: 10 save_dir: "checkpoints" log_dir: "logs" use_amp: false # 是否启用混合精度训练 gradient_accumulation_steps: 1 # 梯度累积步数 # 4. Data Splits splits: train_ratio: 0.8 val_ratio: 0.1 test_ratio: 0.1 random_seed: 42 # 4. Self-Supervised Pre-training pretraining: mask_ratio: 0.15 epochs: 200 learning_rate: 0.0005 early_stopping_patience: 10