def run_mnist_prediction(prediction_hparams): # DATA datamodule = MNISTDataModule(data_dir=DATA_PATH + '/mnist_') datamodule.prepare_data() # downloads data to given path train_dataloader = datamodule.train_dataloader() val_dataloader = datamodule.val_dataloader() test_dataloader = datamodule.test_dataloader() encoder_model = SimpleConvNet() return run_prediction(prediction_hparams, train_dataloader, val_dataloader, test_dataloader, encoder_model, encoder_out_dim=50)
def run_mnist_prediction_corrupted(prediction_hparams): # DATA datamodule = CorruptedMNISTDataModule(data_dir=DATA_PATH + '/mnist_', noise_ratio=prediction_hparams['noise_ratio'], max_train_data_size=prediction_hparams['max_train_data_size']) datamodule.prepare_data() # downloads data to given path train_dataloader = datamodule.train_dataloader(batch_size=256) val_dataloader = datamodule.val_dataloader() test_dataloader = datamodule.test_dataloader() encoder_model = SimpleConvNet() return run_prediction(prediction_hparams, train_dataloader, val_dataloader, test_dataloader, encoder_model, encoder_out_dim=50)
def run_mnist_dvrl_corrupted(prediction_hparams, dvrl_hparams): # DATA datamodule = CorruptedMNISTDataModule(data_dir=DATA_PATH + '/mnist_', noise_ratio=prediction_hparams['noise_ratio'], max_train_data_size=prediction_hparams['max_train_data_size']) datamodule.prepare_data() # downloads data to given path train_dataloader = datamodule.train_dataloader(batch_size=dvrl_hparams.get('outer_batch_size', 32)) val_dataloader = datamodule.val_dataloader(batch_size=dvrl_hparams.get('outer_batch_size', 32)) test_dataloader = datamodule.test_dataloader(batch_size=dvrl_hparams.get('outer_batch_size', 32)) val_split = datamodule.val_split encoder_model = SimpleConvNet() dvrl_method = dvrl_hparams.get('dve_method', 'dvrl') print(f'using {dvrl_method}') runner = run_gumbel if dvrl_method == 'gumbel' else run_dvrl return runner(dvrl_hparams, prediction_hparams, train_dataloader, val_dataloader, test_dataloader, val_split, encoder_model, encoder_out_dim=50)
def run_mnist_dvrl(prediction_hparams, dvrl_hparams): # DATA datamodule = MNISTDataModule(data_dir=DATA_PATH + '/mnist_') datamodule.prepare_data() # downloads data to given path train_dataloader = datamodule.train_dataloader( batch_size=dvrl_hparams.get('outer_batch_size', 32)) val_dataloader = datamodule.val_dataloader( batch_size=dvrl_hparams.get('outer_batch_size', 32)) test_dataloader = datamodule.test_dataloader( batch_size=dvrl_hparams.get('outer_batch_size', 32)) val_split = datamodule.val_split encoder_model = SimpleConvNet() return run_gumbel(dvrl_hparams, prediction_hparams, train_dataloader, val_dataloader, test_dataloader, val_split, encoder_model, encoder_out_dim=50)