# lightning.pytorch==2.5.5 seed_everything: 1999 trainer: accelerator: gpu strategy: auto devices: 1 num_nodes: 1 precision: null logger: - class_path: lightning.pytorch.loggers.TensorBoardLogger init_args: save_dir: logs name: "test" version: null callbacks: - class_path: lightning.pytorch.callbacks.ModelCheckpoint init_args: monitor: val/loss mode: min save_top_k: 1 filename: best-checkpoint - class_path: lightning.pytorch.callbacks.EarlyStopping init_args: monitor: val/loss mode: min patience: 15 verbose: false max_epochs: 1000 min_epochs: null max_steps: -1 min_steps: null overfit_batches: 0.0 log_every_n_steps: null inference_mode: true default_root_dir: null # accumulate_grad_batches: 2 # gradient_clip_val: 1.0 model: class_path: ThermalSolver.graph_module.GraphSolver init_args: model_class_path: neuralop.models import GINO model_init_args: in_channels: 3 # Es: coordinate (x, y, z) + valore della conducibilità k out_channels: 1 # Es: temperatura T # Parametri per l'encoder e il decoder GNO gno_coord_features=3, # Dimensionalità delle coordinate per GNO (es. 3D) gno_n_layers=2, # Numero di layer GNO nell'encoder e nel decoder gno_hidden_channels=64, # Canali nascosti per i layer GNO # Parametri per il processore FNO fno_n_modes=(16, 16, 16), # Numero di modi di Fourier per ogni dimensione fno_n_layers=4, # Numero di layer FNO fno_hidden_channels=64, # Canali nascosti per i layer FNO # Canali per il lifting e la proiezione lifting_channels=256, # Dimensione dello spazio latente dopo il lifting iniziale projection_channels=256, # Dimensione prima della proiezione finale # Padding del dominio per il processore FNO domain_padding=0.05 # unrolling_steps: 64 data: class_path: ThermalSolver.graph_datamodule.GraphDataModule init_args: hf_repo: "SISSAmathLab/thermal-conduction" split_name: "2000_ref_1" batch_size: 64 train_size: 0.8 test_size: 0.1 test_size: 0.1 optimizer: null lr_scheduler: null # ckpt_path: lightning_logs/01/version_0/checkpoints/best-checkpoint.ckpt