def test_hyperparameters_config():
    """Checks that the model has the right hyperparameter configuration."""
    # Clear the session to restart the naming of the Keras layers
    K.clear_session()
    m = Member(get_test_model, steps_to_ready, tune_lr=True)
    config = m.get_hyperparameter_config()
    expected_config = {
        'l1:0': 0.1,
        'l2:0': 1e-5,
        'dr:1': 0.1,
        'l1:2': 0.2,
        'l2:2': 1e-6,
        'lr': 0.1
    }
    for k, v in expected_config.items():
        assert v == pytest.approx(config[k], abs=1e-6)
def test_regularizers_found():
    """Checks that the member could find the two regularizers added."""
    m = Member(get_test_model, steps_to_ready)
    assert len(m.hyperparameters) == 3
def test_learning_rate_found():
    """Checks that the member knows that it should tune the learning rate."""
    m = Member(get_test_model, steps_to_ready, tune_lr=True)
    assert len(m.hyperparameters) == 4
def get_test_member():
    return Member(get_test_model, steps_to_ready, tune_lr=True)