# prediction for validation set prediction_val = [] target_val = [] permutation = torch.randperm(val_x.size()[0]) for i in tqdm(range(0,val_x.size()[0], batch_size)): indices = permutation[i:i+batch_size] batch_x, batch_y = val_x[indices], val_y[indices] if torch.cuda.is_available(): batch_x, batch_y = batch_x.cuda(), batch_y.cuda() with torch.no_grad(): output = model(batch_x.cuda()) softmax = torch.exp(output).cpu() prob = list(softmax.numpy()) predictions = np.argmax(prob, axis=1) prediction_val.append(predictions) target_val.append(batch_y) # validation accuracy accuracy_val = [] for i in range(len(prediction_val)): accuracy_val.append(accuracy_score(target_val[i],prediction_val[i])) print('validation accuracy: \t', np.average(accuracy_val))