22
33Mind that this example does not run on Windows at the moment."""
44
5+ import platform
6+
57import torch
68import torch .nn .functional as F
79from torch .utils .data import DataLoader
@@ -35,6 +37,13 @@ def configure_optimizers(self):
3537
3638
3739def evaluate_pipeline (lr = 0.1 , epoch = 20 ):
40+ if platform .system () != "Linux" :
41+ raise RuntimeError (
42+ "This example uses FSDP with the NCCL backend, which only runs on "
43+ f"Linux. Detected platform: { platform .system ()} . Run it on a Linux "
44+ "machine with GPUs (e.g. a Linux GPU cluster)."
45+ )
46+
3847 L .seed_everything (42 )
3948
4049 # Data
@@ -45,8 +54,8 @@ def evaluate_pipeline(lr=0.1, epoch=20):
4554 model = LanguageModel (vocab_size = dataset .vocab_size , lr = lr )
4655
4756 # Trainer
48- trainer = L .Trainer (accelerator = "cuda" , strategy = FSDPStrategy ())
49- trainer .fit (model , train_dataloader , max_epochs = epoch )
57+ trainer = L .Trainer (accelerator = "cuda" , strategy = FSDPStrategy (), max_epochs = epoch )
58+ trainer .fit (model , train_dataloader )
5059 return trainer .logged_metrics ["train_loss" ].detach ().item ()
5160
5261
@@ -57,7 +66,7 @@ def evaluate_pipeline(lr=0.1, epoch=20):
5766 logging .basicConfig (level = logging .INFO )
5867
5968 class HPOSpace (neps .PipelineSpace ):
60- lr = neps .Float (lower = 0.001 , upper = 0.1 , log = True , prior = 0.01 )
69+ lr = neps .Float (lower = 0.001 , upper = 0.1 , log = True , prior = 0.01 , prior_confidence = "high" )
6170 epoch = neps .IntegerFidelity (lower = 1 , upper = 3 )
6271
6372 neps .run (
0 commit comments