model = Key() else: raise Exception('Incorrect model name') if args.cuda: model.cuda() # Loss function if args.model == 'popularity': loss = torch.nn.MSELoss() else: loss = torch.nn.CrossEntropyLoss() # Optimizer optimizer = optim.Adam(model.parameters(), lr=args.lr) # Saved losses for plotting losses = [] val_losses = [] accs = [] val_accs = [] r_sqs = [] val_r_sqs = [] def train(epoch): # adaptive learning rate adjust_learning_rate(epoch, optimizer, adjust_every=10, rate=0.9) mean_training_loss = 0.0