def test_horovod_transfer_batch_to_gpu(tmpdir): class TestTrainingStepModel(BoringModel): def training_step(self, batch, *args, **kwargs): assert str(batch.device) != 'cpu' return super(TestTrainingStepModel, self).training_step(batch, *args, **kwargs) def validation_step(self, batch, *args, **kwargs): assert str(batch.device) != 'cpu' return super(TestTrainingStepModel, self).validation_step(batch, *args, **kwargs) model = TestTrainingStepModel() trainer_options = dict( default_root_dir=str(tmpdir), progress_bar_refresh_rate=0, max_epochs=1, limit_train_batches=0.4, limit_val_batches=0.2, gpus=1, deterministic=True, accelerator='horovod', ) tpipes.run_model_test_without_loggers(trainer_options, model)
def test_default_logger_callbacks_cpu_model(tmpdir): """Test each of the trainer options.""" trainer_options = dict( default_root_dir=tmpdir, max_epochs=1, gradient_clip_val=1.0, overfit_batches=0.20, enable_progress_bar=False, limit_train_batches=0.01, limit_val_batches=0.01, ) model = BoringModel() tpipes.run_model_test_without_loggers(trainer_options, model, min_acc=0.01) # test freeze on cpu model.freeze() model.unfreeze()
def test_lbfgs_cpu_model(tmpdir): """Test each of the trainer options. Testing LBFGS optimizer""" class ModelSpecifiedOptimizer(BoringModel): def __init__(self, optimizer_name, learning_rate): super().__init__() self.optimizer_name = optimizer_name self.learning_rate = learning_rate self.save_hyperparameters() trainer_options = dict( default_root_dir=tmpdir, max_epochs=1, progress_bar_refresh_rate=0, weights_summary="top", limit_train_batches=0.2, limit_val_batches=0.2, ) model = ModelSpecifiedOptimizer(optimizer_name="LBFGS", learning_rate=0.004) tpipes.run_model_test_without_loggers(trainer_options, model, min_acc=0.01)
def test_horovod_transfer_batch_to_gpu(tmpdir): class TestTrainingStepModel(BoringModel): def training_step(self, batch, *args, **kwargs): assert str(batch.device) != "cpu" return super().training_step(batch, *args, **kwargs) def validation_step(self, batch, *args, **kwargs): assert str(batch.device) != "cpu" return super().validation_step(batch, *args, **kwargs) model = TestTrainingStepModel() trainer_options = dict( default_root_dir=str(tmpdir), enable_progress_bar=False, max_epochs=1, limit_train_batches=0.4, limit_val_batches=0.2, gpus=1, strategy="horovod", ) tpipes.run_model_test_without_loggers(trainer_options, model)