Exemple #1
0
def test_fastai_model_file(tmp_dir, data_loader):
    dvclive.init("dvc_logs")

    learn = tabular_learner(data_loader, metrics=accuracy)
    learn.model_dir = os.path.abspath("./")
    learn.fit_one_cycle(2, cbs=[DvcLiveCallback("model")])
    assert (tmp_dir / "model.pth").is_file()
Exemple #2
0
def fastai_model():
    iris = datasets.load_iris()
    X = pd.DataFrame(iris.data[:, :2], columns=iris.feature_names[:2])
    y = pd.Series(iris.target, name="label")
    dl = TabularDataLoaders.from_df(df=pd.concat([X, y], axis=1),
                                    cont_names=list(X.columns),
                                    y_names="label")
    model = tabular_learner(dl, metrics=accuracy, layers=[3])
    model.fit(1)
    return ModelWithData(model=model, inference_dataframe=X)
Exemple #3
0
def test_fastai_callback(tmp_dir, data_loader):
    learn = tabular_learner(data_loader, metrics=accuracy)
    learn.model_dir = os.path.abspath("./")
    learn.fit_one_cycle(2, cbs=[DvcLiveCallback("model")])

    assert os.path.exists("dvclive")

    train_path = tmp_dir / "dvclive" / Scalar.subfolder / "train"
    valid_path = tmp_dir / "dvclive" / Scalar.subfolder / "valid"

    assert train_path.is_dir()
    assert valid_path.is_dir()
    assert (tmp_dir / "dvclive" / Scalar.subfolder / "accuracy.tsv").exists()
Exemple #4
0
def tabular_predict_from_nn(tab_fn, weights_fn, xs=None):
    #learner = load_learner(model_fn)
    to_nn = fasttab.load_pickle(tab_fn)
    dls = to_nn.dataloaders(1024)
    learn = fasttab.tabular_learner(
        dls, metrics=fasttab.accuracy
    )  #BrierScore doesn't seem to work with lr_find()
    learn.load(weights_fn)
    if not isinstance(xs, pd.DataFrame):
        return learn

    dl = learn.dls.test_dl(xs, bs=64)  # apply transforms
    preds, _ = learn.get_preds(dl=dl)  # get prediction
    return preds