forked from ashleve/lightning-hydra-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_sweeps.py
44 lines (35 loc) · 970 Bytes
/
test_sweeps.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import pytest
from tests.helpers.run_command import run_command
"""
A couple of tests executing hydra sweeps.
Use the following command to skip slow tests:
pytest -k "not slow"
"""
@pytest.mark.slow
def test_experiments():
"""Test running all available experiment configs for 1 epoch."""
command = ["train.py", "-m", "experiment=glob(*)", "++trainer.max_epochs=1"]
run_command(command)
@pytest.mark.slow
def test_default_sweep():
"""Test default Hydra sweeper."""
command = [
"train.py",
"-m",
"datamodule.batch_size=64,128",
"model.lr=0.01,0.02",
"trainer=default",
"++trainer.fast_dev_run=true",
]
run_command(command)
@pytest.mark.slow
def test_optuna_sweep():
"""Test Optuna sweeper."""
command = [
"train.py",
"-m",
"hparams_search=mnist_optuna",
"trainer=default",
"++trainer.fast_dev_run=true",
]
run_command(command)