in src/hyperpod_nemo_adapter/collections/parts/sagemaker_trainer_builder.py [0:0]
def _training_strategy(self) -> SageMakerFSDPStrategy:
"""
Returns a FSDP strategy passed to Trainer.strategy.
"""
_IS_INTERACTIVE = hasattr(sys, "ps1") or bool(sys.flags.interactive)
if _IS_INTERACTIVE and self.cfg.trainer.devices == 1:
raise NotImplementedError(f"Currently we don't support interactive mode in SM adapter")
if self.cfg.use_smp_model or self.cfg.model.get("fsdp", True):
# We're using FSDPStrategy for all SMP usecase for now
return SageMakerFSDPStrategy(self.cfg)
else:
raise NotImplementedError(f"Currently we only support FSDPStrategy")