from matplotlib import pyplot as plt from matplotlib.patches import Ellipse import torch from torch.autograd import Variable import torch.optim as optim from Utils.common import set_random_seed # ------------------------------------------------------------------------------------------- # Create data # ------------------------------------------------------------------------------------------- # Random seed: seed = 2 if not seed == 0: set_random_seed(seed) # ------------------------------------------------------------------------------------------- # Define scenario # ------------------------------------------------------------------------------------------- n_dim = 2 data_type = 1 # 0 \ 1 if data_type == 0: n_tasks = 2 # number of samples in each task: n_samples_list = [10, 200] # True means vector for each task [n_dim x n_tasks]: true_mu = [[-1.0, -1.0], [+1.0, +1.0]]
parser.add_argument('--batch-size', type=int, help='input batch size for training', default=128) parser.add_argument('--num-epochs', type=int, help='number of epochs to train', default=200) # 200 parser.add_argument('--lr', type=float, help='initial learning rate', default=1e-3) parser.add_argument('--test-batch-size',type=int, help='input batch size for testing', default=1000) prm = parser.parse_args() prm.device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") prm.data_path = get_data_path() set_random_seed(prm.seed) if prm.Experiment_Name == 'Permute_Labels': prm.run_name = 'TwoTaskTransfer_permuted_labels' prm.data_transform = 'Permute_Labels' prm.model_name = 'ConvNet3' freeze_description = 'freeze lower layers' not_freeze_list = ['fc_out'] freeze_list = None elif prm.Experiment_Name == 'Shuffled_Pixels': n_pixels_shuffles = 200 prm.run_name = 'TwoTaskTransfer_shuffled_pixels' + str(n_pixels_shuffles) + '_v2' prm.data_transform = 'Shuffled_Pixels' prm.n_pixels_shuffles = n_pixels_shuffles