def test(test_data_loader, model): srocc = SROCC() plcc = PLCC() rmse = RMSE() len_test = len(test_data_loader) pb = ProgressBar(len_test, show_step=True) print("Testing") model.eval() with torch.no_grad(): for i, ((img, ref), score) in enumerate(test_data_loader): img, ref = img.cuda(), ref.cuda() output = model(img, ref).cpu().data.numpy() score = score.data.numpy() srocc.update(score, output) plcc.update(score, output) rmse.update(score, output) pb.show( i, "Test: [{0:5d}/{1:5d}]\t" "Score: {2:.4f}\t" "Label: {3:.4f}".format(i + 1, len_test, float(output), float(score))) print("\n\nSROCC: {0:.4f}\n" "PLCC: {1:.4f}\n" "RMSE: {2:.4f}".format(srocc.compute(), plcc.compute(), rmse.compute()))
def test(test_data_loader, model): scores = [] srocc = SROCC() plcc = PLCC() rmse = RMSE() len_test = len(test_data_loader) pb = ProgressBar(len_test-1, show_step=True) print("Testing") model.eval() with torch.no_grad(): for i, ((img, ref), score) in enumerate(test_data_loader): img, ref = img.cuda(), ref.cuda() output = model(img, ref).cpu().data.numpy() score = score.data.numpy() srocc.update(score, output) plcc.update(score, output) rmse.update(score, output) pb.show(i, 'Test: [{0:5d}/{1:5d}]\t' 'Score: {2:.4f}\t' 'Label: {3:.4f}' .format(i, len_test, float(output), float(score))) scores.append(output) # Write scores to file with open('../test/scores.txt', 'w') as f: stat = list(map(lambda s: f.write(str(s)+'\n'), scores)) print('\n\nSROCC: {0:.4f}\n' 'PLCC: {1:.4f}\n' 'RMSE: {2:.4f}' .format(srocc.compute(), plcc.compute(), rmse.compute()) )