Files
Geo-Layout-Transformer/configs/default.yaml
2026-02-11 21:41:40 +08:00

67 lines
1.8 KiB
YAML

# 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