Beispiel #1
0
def test_TrainConfig_build_loss():
    config = TrainConfig(".", ".", ".", loss=CustomLoss(loss_variables=["x"]))
    # needs to be random or the normalized loss will have nan
    data = {"x": tf.random.uniform(shape=(4, 10))}
    loss = config.build_loss(data)
    loss_value, _ = loss(data, data)
    assert 0 == pytest.approx(loss_value.numpy())
Beispiel #2
0
def test_TrainConfig_defaults():

    config = TrainConfig(
        train_url="train_path",
        test_url="test_path",
        out_url="save_path",
        transform=TransformConfig(),
        model=MicrophysicsConfig(),
    )

    assert config  # for linter
Beispiel #3
0
def test_TrainConfig_asdict():

    config = TrainConfig(
        train_url="train_path",
        test_url="test_path",
        out_url="save_path",
        model=MicrophysicsConfig(),
    )

    d = asdict(config)
    assert d["train_url"] == "train_path"
    assert d["model"]["architecture"]["name"] == "linear"
Beispiel #4
0
def test_TrainConfig_build_model():
    field = Field("out", "in")
    config = TrainConfig(
        ".",
        ".",
        ".",
        transformed_model=TransformedModelConfig(ArchitectureConfig("dense"),
                                                 [field], 900),
    )
    data = {
        field.input_name: tf.ones((1, 10)),
        field.output_name: tf.ones((1, 10))
    }
    model = config.build_model(data)
    assert field.output_name in model(data)