Ejemplo n.º 1
0
def setup():
    # Your config parsing goes here.
    parser = get_parser()
    parser = make_cli_parser(parser, parser.parse_args().config)
    configure_logging(f"logs/{config.trainer.experiment_name}")
    # Add all default command line parsers and merge with yaml config file.
    config = parse_config(parser, PLDataModuleFromDatasets)
    return config
Ejemplo n.º 2
0
                train=False)

    return train, val


if __name__ == "__main__":
    # SETUP ##################################################
    parser = get_parser()
    parser = make_cli_parser(parser, PLDataModuleFromDatasets)

    config = parse_config(parser, parser.parse_args().config)

    if config.trainer.experiment_name == "experiment":
        config.trainer.experiment_name = "mnist-rnn-classification"

    configure_logging(f"logs/{config.trainer.experiment_name}")

    if config.seed is not None:
        logger.info("Seeding everything with seed={seed}")
        pl.utilities.seed.seed_everything(seed=config.seed)

    train, test = get_data()

    # Get data and make datamodule ##########################
    ldm = PLDataModuleFromDatasets(train,
                                   test=test,
                                   seed=config.seed,
                                   collate_fn=collate_fn,
                                   **config.data)

    # Create model, optimizer, criterion, scheduler ###########
Ejemplo n.º 3
0
from slp.data.collators import MultimodalSequenceClassificationCollator
from slp.data.multimodal import MOSEI
from slp.modules.multimodal import MultimodalBaselineClassifier
from slp.plbind.dm import PLDataModuleFromDatasets
from slp.plbind.helpers import FromLogits
from slp.plbind.metrics import MoseiAcc2, MoseiAcc5, MoseiAcc7
from slp.plbind.module import RnnPLModule
from slp.plbind.trainer import make_trainer, watch_model
from slp.util.log import configure_logging
from slp.util.mosei import run_evaluation
from torch.optim import Adam

if __name__ == "__main__":
    EXPERIMENT_NAME = "mosei-rnn"

    configure_logging(f"logs/{EXPERIMENT_NAME}")

    modalities = {"text", "audio", "visual"}
    collate_fn = MultimodalSequenceClassificationCollator(
        device="cpu", modalities=modalities)

    train_data, dev_data, test_data, w2v = mosei(
        "data/mosei_final_aligned",
        pad_back=False,
        max_length=-1,
        pad_front=True,
        remove_pauses=False,
        modalities=modalities,
        already_aligned=True,
        align_features=False,
        cache="./cache/mosei.p",
Ejemplo n.º 4
0
    config["data"]["batch_size"] = tune.choice([16, 32, 64, 128])

    return config


if __name__ == "__main__":
    # SETUP ##################################################
    parser = get_parser()
    parser = make_cli_parser(parser, PLDataModuleFromDatasets)  # type: ignore

    config = parse_config(parser, parser.parse_args().config)

    if config.trainer.experiment_name == "experiment":
        config.trainer.experiment_name = "mnist-classification"

    configure_logging()

    if config.seed is not None:
        logger.info("Seeding everything with seed={seed}")
        pl.utilities.seed.seed_everything(seed=config.seed)

    # These arguments may be provided from the command line or a config file
    # config = OmegaConf.to_container(config)
    # config["tune"] = {
    #     "num_trials": 10,
    #     "cpus_per_trial": 1,
    #     "gpus_per_trial": 0.12,
    #     "metric": "accuracy",
    #     "mode": "max",
    # }
    # config["wandb"]["project"] = "tuning-mnist-classification"