implememt cli

This commit is contained in:
Filippo Olivo
2025-10-03 09:35:34 +02:00
parent b26403189f
commit 4c47636cb6
2 changed files with 52 additions and 30 deletions

34
run.py
View File

@@ -1,38 +1,12 @@
import torch
from lightning import Trainer
from ThermalSolver.module import GraphSolver
from ThermalSolver.data_module import GraphDataModule
from ThermalSolver.model.local_gno import GatingGNO
from lightning.pytorch.cli import LightningCLI
torch.set_float32_matmul_precision("medium")
def main():
trainer = Trainer(
max_epochs=50, accelerator="cuda", devices=1, accumulate_grad_batches=3
)
data_module = GraphDataModule(
hf_repo="SISSAmathLab/thermal-conduction",
split_name="2000",
train_size=0.8,
val_size=0.1,
test_size=0.1,
batch_size=10,
)
data_module.prepare_data()
data_module.setup("fit")
model = GatingGNO(
x_ch_node=1, f_ch_node=1, hidden=16, layers=2, edge_ch=3, out_ch=1
)
solver = GraphSolver(model, unrolling_steps=64)
trainer.fit(
solver,
train_dataloaders=data_module.train_dataloader(),
val_dataloaders=data_module.val_dataloader(),
)
data_module.setup("test")
trainer.test(solver, dataloaders=data_module.test_dataloader())
LightningCLI(subclass_mode_data=True, subclass_mode_model=True)
if __name__ == "__main__":
torch.set_float32_matmul_precision("medium")
main()