コード例 #1
0
ファイル: main.py プロジェクト: WLM1ke/MLBootCamp
def find_lr():
    """Поиск максимального lr."""
    train_set = (load_data.train_x(), load_data.train_y())
    model = make_model()
    model.compile(
        optimizer=optimizers.Nadam(),
        loss="mae",
        metrics=[iou.intersection_over_union],
    )
    model.fit_generator(yield_batch(train_set), steps_per_epoch=30, epochs=1)
    model.compile(optimizer=optimizers.Nadam(),
                  loss=iou.intersection_over_union)

    lr.get_max_lr(model, yield_batch(train_set))
コード例 #2
0
ファイル: main.py プロジェクト: WLM1ke/MLBootCamp
def train():
    """Тренировка модели."""
    train_set = (load_data.train_x(), load_data.train_y())
    test_set = load_data.test_x()
    train_oof(train_set, test_set)
コード例 #3
0
ファイル: main.py プロジェクト: WLM1ke/MLBootCamp
        data_train = (x_train.loc[ids_train], y_train.loc[ids_train])
        data_val = (x_train.loc[ids_valid], y_train.loc[ids_valid])

        rez, model = train_model(data_train, data_val)
        scores.append(min(rez.history["val_loss"]))

        feat = yield_batch_test(data_val[0])
        df = model.predict_generator(feat,
                                     steps=len(data_val[0].index.unique()))
        oof.loc[ids_valid] = df

        feat = yield_batch_test(x_test)
        df = model.predict_generator(feat, steps=len(x_test.index.unique()))
        prediction += df / FOLDS

    mean = np.mean(scores)
    err = np.std(scores) / len(scores)**0.5
    print(f"IOU на кроссвалидации: " + str(-np.round(sorted(scores), 5)))
    print(f"IOU среднее: {-mean:0.5f} +/- {2 * err:0.5f}")

    oof.to_csv(DATA_PATH / f"oof-{-mean - 2 * err:0.5f}.csv", header=False)
    prediction.to_csv(DATA_PATH / f"sub-{-mean - 2 * err:0.5f}.csv",
                      header=False)


if __name__ == '__main__':
    train_set = (load_data.train_x(), load_data.train_y())
    test_set = load_data.test_x()
    train_oof(train_set, test_set)