Ejemplo n.º 1
0
def test_init_train(tmpdir):
    train_dl = torch.utils.data.DataLoader(DummyDataset(), batch_size=16)
    model = TabularClassifier(num_classes=10,
                              num_features=16 + 16,
                              embedding_sizes=16 * [(10, 32)])
    trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True)
    trainer.fit(model, train_dl)
Ejemplo n.º 2
0
def test_jit(tmpdir):
    model = TabularClassifier(num_classes=10,
                              num_features=8,
                              embedding_sizes=4 * [(10, 32)])
    model.eval()

    # torch.jit.script doesn't work with tabnet
    model = torch.jit.trace(
        model, ((torch.randint(0, 10, size=(1, 4)), torch.rand(1, 4)), ))

    # TODO: torch.jit.save doesn't work with tabnet
    # path = os.path.join(tmpdir, "test.pt")
    # torch.jit.save(model, path)
    # model = torch.jit.load(path)

    out = model((torch.randint(0, 10, size=(1, 4)), torch.rand(1, 4)))
    assert isinstance(out, torch.Tensor)
    assert out.shape == torch.Size([1, 10])
Ejemplo n.º 3
0
def test_classification(tmpdir):

    train_df = TEST_DF_1.copy()
    val_df = TEST_DF_1.copy()
    test_df = TEST_DF_1.copy()
    data = TabularData.from_df(
        train_df,
        categorical_cols=["category"],
        numerical_cols=["scalar_a", "scalar_b"],
        target_col="label",
        val_df=val_df,
        test_df=test_df,
        num_workers=0,
        batch_size=2,
    )
    model = TabularClassifier(num_features=3, num_classes=2, embedding_sizes=data.emb_sizes)
    trainer = pl.Trainer(fast_dev_run=True, default_root_dir=tmpdir)
    trainer.fit(model, data)
Ejemplo n.º 4
0
def test_module_import_error(tmpdir):
    with pytest.raises(ModuleNotFoundError, match="[tabular]"):
        TabularClassifier(num_classes=10, num_features=16, embedding_sizes=[])