def test_double_validation_loop(): """Test running 1 epoch with validation loop twice per epoch.""" command = [ "run.py", "++trainer.max_epochs=1", "++trainer.val_check_interval=0.5", ] run_command(command)
def test_gpu(): """Test running 1 epoch on GPU.""" command = [ "run.py", "++trainer.max_epochs=1", "++trainer.gpus=1", ] run_command(command)
def test_default_gpu(): """Test default configuration on GPU.""" command = [ "run.py", "trainer.max_epochs=1", "trainer.gpus=1", "datamodule.pin_memory=True", ] run_command(command)
def test_mixed_precision(): """Test running 1 epoch with native pytorch mixed precision.""" command = [ "run.py", "++trainer.max_epochs=1", "++trainer.gpus=1", "++trainer.precision=16", ] run_command(command)
def test_gradient_accumulation(): """Train 1 epoch with gradient accumulation.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=1", "trainer.accumulate_grad_batches=10", ] run_command(command)
def test_limit_batches(): """Test running 1 epoch on 25% of data.""" command = [ "run.py", "++trainer.max_epochs=1", "++trainer.limit_train_batches=0.25", "++trainer.limit_val_batches=0.25", "++trainer.limit_test_batches=0.25", ] run_command(command)
def test_csv_logger(): """Train 5 epochs with 5 batches with CSVLogger.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=5", "trainer.limit_train_batches=5", "logger=csv", ] run_command(command)
def test_overfit_batches(): """Overfit to 10 batches over 10 epochs.""" command = [ "run.py", "trainer=default", "trainer.min_epochs=10", "trainer.max_epochs=10", "trainer.overfit_batches=10", ] run_command(command)
def test_optuna_sweep(): """Test Optuna sweeper.""" command = [ "run.py", "-m", "hparams_search=mnist_optuna", "trainer=default", "trainer.fast_dev_run=true", ] run_command(command)
def test_tensorboard_logger(): """Train 5 epochs with 5 batches with TensorboardLogger.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=5", "trainer.limit_train_batches=5", "logger=tensorboard", ] run_command(command)
def test_wandb_callbacks(): """Test wandb callbacks.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=3", "logger=wandb", "logger.wandb.project=template-tests", "callbacks=wandb", ] run_command(command)
def test_default_sweep(): """Test default Hydra sweeper.""" command = [ "run.py", "-m", "datamodule.batch_size=64,128", "model.lr=0.01,0.02", "trainer=default", "trainer.fast_dev_run=true", ] run_command(command)
def test_limit_batches(): """Train 1 epoch on 25% of data.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=1", "trainer.limit_train_batches=0.25", "trainer.limit_val_batches=0.25", "trainer.limit_test_batches=0.25", ] run_command(command)
def test_apex_01(): """Test mixed-precision level 01.""" command = [ "run.py", "trainer=default", "trainer.max_epochs=1", "trainer.gpus=1", "trainer.amp_backend=apex", "trainer.amp_level=O1", "trainer.precision=16", ] run_command(command)
def test_wandb_optuna_sweep(): """Test wandb logging with Optuna sweep.""" command = [ "run.py", "-m", "hparams_search=mnist_optuna", "trainer=default", "trainer.max_epochs=10", "trainer.limit_train_batches=20", "logger=wandb", "logger.wandb.project=template-tests", "logger.wandb.group=Optuna_SimpleDenseNet_MNIST", "hydra.sweeper.n_trials=5", ] run_command(command)
def test_fast_dev_run(): """Run 1 train, val, test batch.""" command = ["run.py", "trainer=default", "trainer.fast_dev_run=true"] run_command(command)
def test_ax_sweep(): """Test Ax sweeper.""" command = ["run.py", "-m", "hparams_search=mnist_ax", "trainer.fast_dev_run=true"] run_command(command)
def test_default_cpu(): """Test default configuration on CPU.""" command = ["run.py", "trainer.max_epochs=1", "trainer.gpus=0"] run_command(command)
def test_experiments(): """Train 1 epoch with all experiment configs.""" command = ["run.py", "-m", "experiment=glob(*)", "trainer.max_epochs=1"] run_command(command)
def test_fast_dev_run(): """Test running for 1 train, val and test batch.""" command = ["run.py", "++trainer.fast_dev_run=true"] run_command(command)
def test_experiments(): """Test running all available experiment configs for 1 epoch.""" command = ["run.py", "-m", "experiment=glob(*)", "++trainer.max_epochs=1"] run_command(command)