def _training_strategy()

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")