def run(args, kwargs): args.model_signature = str(datetime.datetime.now())[0:19] model_name = args.dataset_name + '_' + args.model_name + '_' + args.prior + '(K_' + str(args.number_components) + ')' + '_wu(' + str(args.warmup) + ')' + '_z1_' + str(args.z1_size) + '_z2_' + str(args.z2_size) # DIRECTORY FOR SAVING snapshots_path = 'snapshots/' dir = snapshots_path + args.model_signature + '_' + model_name + '/' if not os.path.exists(dir): os.makedirs(dir) # LOAD DATA========================================================================================================= print('load data') # loading data train_loader, val_loader, test_loader, args = load_dataset(args, **kwargs) # CREATE MODEL====================================================================================================== print('create model') # importing model if args.model_name == 'vae': from models.VAE import VAE elif args.model_name == 'hvae_2level': from models.HVAE_2level import VAE elif args.model_name == 'convhvae_2level': from models.convHVAE_2level import VAE elif args.model_name == 'pixelhvae_2level': from models.PixelHVAE_2level import VAE else: raise Exception('Wrong name of the model!') model = VAE(args) if args.cuda: model.cuda() optimizer = AdamNormGrad(model.parameters(), lr=args.lr) # optimizer = optim.Adam(model.parameters(), lr=args.lr) # ====================================================================================================================== print(args) with open('vae_experiment_log.txt', 'a') as f: print(args, file=f) # ====================================================================================================================== print('perform experiment') from utils.perform_experiment import experiment_vae experiment_vae(args, train_loader, val_loader, test_loader, model, optimizer, dir, model_name = args.model_name) # ====================================================================================================================== print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-') with open('vae_experiment_log.txt', 'a') as f: print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n', file=f)
def run(args, kwargs): args.model_signature = str(datetime.datetime.now())[0:19] model_name = args.dataset_name + '_' + args.model_name + '_' + args.prior + '(K_' + str(args.number_components) + ')' + '_wu(' + str(args.warmup) + ')' + '_z1_' + str(args.z1_size) + '_z2_' + str(args.z2_size) # DIRECTORY FOR SAVING snapshots_path = 'snapshots/' dir = snapshots_path + args.model_signature + '_' + model_name + '/' if not os.path.exists(dir): os.makedirs(dir) # LOAD DATA========================================================================================================= print('load data') # loading data train_loader, val_loader, test_loader, args = load_dataset(args, **kwargs) # CREATE MODEL====================================================================================================== print('create model') # importing model if args.model_name == 'vae': from models.VAE import VAE elif args.model_name == 'hvae_2level': from models.HVAE_2level import VAE elif args.model_name == 'convhvae_2level': from models.convHVAE_2level import VAE elif args.model_name == 'pixelhvae_2level': from models.PixelHVAE_2level import VAE else: raise Exception('Wrong name of the model!') model = VAE(args) if args.cuda: model.cuda() optimizer = AdamNormGrad(model.parameters(), lr=args.lr) # ====================================================================================================================== print(args) with open('vae_experiment_log.txt', 'a') as f: print(args, file=f) # ====================================================================================================================== print('perform experiment') from utils.perform_experiment import experiment_vae experiment_vae(args, train_loader, val_loader, test_loader, model, optimizer, dir, model_name = args.model_name) # ====================================================================================================================== print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-') with open('vae_experiment_log.txt', 'a') as f: print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n', file=f)
def run(train_loader, val_loader, test_loader, model_name, warmup, z1_size, z2_size, input_size, dataset_name, lr): if torch.cuda.is_available(): cuda = True torch.cuda.manual_seed(1) # DIRECTORY FOR SAVING snapshots_path = 'snapshots/' dir = snapshots_path + model_name + '/' if not os.path.exists(dir): os.makedirs(dir) print('create model') # importing model if model_name == 'vae': from models.generative.autoencoders.VAE import VAE elif model_name == 'vae_HF': from models.generative.autoencoders.VAE_HF import VAE elif model_name == 'vae_ccLinIAF': from models.generative.autoencoders.VAE_ccLinIAF import VAE else: raise Exception('Wrong name of the model!') model = VAE(input_size, z1_size, number_of_flows=3) if cuda: model.cuda() optimizer = optim.Adam(model.parameters(), lr=lr) # ====================================================================================================================== print('perform experiment') from utils.perform_experiment import experiment_vae experiment_vae(train_loader, val_loader, test_loader, model, optimizer, dir, model_name=model_name) # ====================================================================================================================== print( '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-' ) with open('vae_experiment_log.txt', 'a') as f: print( '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n', file=f)
def run(args, kwargs): args.model_signature = str(datetime.datetime.now())[0:19] model_name = args.dataset_name + '_' + args.model_name + '_' + args.prior + '(M_' + str( args.M) + ')' + '(F_' + str(args.F) + ')' + '_wu(' + str( args.warmup) + ')' + '_z1_' + str(args.z1_size) + '_hidden_' + str( args.number_hidden) + '_ksi_' + str(args.ksi) if args.FI is True: model_name += '_FI' else: args.F = 0 if args.MI is True: model_name += '_MI' else: args.M = 0 # DIRECTORY FOR SAVING #snapshots_path = 'snapshots/' snapshots_path = args.snapshot_dir if not os.path.exists(snapshots_path): os.makedirs(snapshots_path) dir = snapshots_path + args.model_signature + '_' + model_name + '/' if not os.path.exists(dir): os.makedirs(dir) # LOAD DATA========================================================================================================= print('load data') # loading data train_loader, val_loader, test_loader, args = load_dataset(args, **kwargs) # CREATE MODEL====================================================================================================== print('create model') if args.dataset_name == "celeba": args.model_name = "celebavae" # importing model if args.model_name == 'vae': from models.VAE import VAE elif args.model_name == 'hvae_2level': from models.HVAE_2level import VAE elif args.model_name == 'convhvae_2level': from models.convHVAE_2level import VAE elif args.model_name == 'convvae': from models.convVAE import VAE elif args.model_name == 'pixelhvae_2level': from models.PixelHVAE_2level import VAE elif args.model_name == 'pixelvae': from models.pixelVAE import VAE elif args.model_name == 'iaf_vae': from models.VAE_ccLinIAF import VAE elif args.model_name == 'rev_vae': from models.REV_VAE import VAE elif args.model_name == 'rev_pixelvae': from models.REV_pixelVAE import VAE elif args.model_name == 'celebavae': from models.CelebaVAE import VAE else: raise Exception('Wrong name of the model!') model = VAE(args) if args.cuda: model.cuda() optimizer = AdamNormGrad(model.parameters(), lr=args.lr) # ====================================================================================================================== print(args) with open(dir + 'vae_experiment_log.txt', 'a') as f: print(args, file=f) # ====================================================================================================================== print('perform experiment') from utils.perform_experiment import experiment_vae experiment_vae(args, train_loader, val_loader, test_loader, model, optimizer, dir, model_name=args.model_name) # ====================================================================================================================== print( '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-' ) with open(dir + '/vae_experiment_log.txt', 'a') as f: print( '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n', file=f)
def run(): model_name = args.model_name if model_name == 'vae_HF': args.number_combination = 0 elif model_name == 'vae_ccLinIAF': args.number_of_flows = 1 if args.model_name == 'vae_HF': model_name = model_name + '(T_' + str(args.number_of_flows) + ')' elif args.model_name == 'vae_ccLinIAF': model_name = model_name + '(K_' + str(args.number_combination) + ')' model_name = model_name + '_wu(' + str(args.warmup) + ')' + '_z1_' + str(args.z1_size) if args.z2_size > 0: model_name = model_name + '_z2_' + str(args.z2_size) print(args) with open('vae_experiment_log.txt', 'a') as f: print(args, file=f) # DIRECTORY FOR SAVING snapshots_path = 'snapshots/' dir = snapshots_path + model_name + '/' if not os.path.exists(dir): os.makedirs(dir) # LOAD DATA========================================================================================================= print('load data') if args.dataset_name == 'dynamic_mnist': args.dynamic_binarization = True else: args.dynamic_binarization = False # loading data train_loader, val_loader, test_loader = load_dataset(args) # CREATE MODEL====================================================================================================== print('create model') # importing model if args.model_name == 'vae': from models.VAE import VAE elif args.model_name == 'vae_HF': from models.VAE_HF import VAE elif args.model_name == 'vae_ccLinIAF': from models.VAE_ccLinIAF import VAE else: raise Exception('Wrong name of the model!') model = VAE(args) if args.cuda: model.cuda() optimizer = optim.Adam(model.parameters(), lr=args.lr) # ====================================================================================================================== print('perform experiment') from utils.perform_experiment import experiment_vae experiment_vae(args, train_loader, val_loader, test_loader, model, optimizer, dir, model_name = args.model_name) # ====================================================================================================================== print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-') with open('vae_experiment_log.txt', 'a') as f: print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n', file=f)