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()
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)
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()
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