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
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 ###########
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",
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"