Spaces:
Sleeping
Sleeping
| from sklearn.metrics import f1_score | |
| import numpy as np | |
| #TODO: implement as nn.Module subclass | |
| def f1(y_hat, y): | |
| per_class_score = f1_score(y.cpu().detach().numpy().astype('int'), | |
| (sigmoid(y_hat.cpu().detach().numpy()) > 0.5).astype('int'), | |
| average='samples', zero_division=1) | |
| return np.mean(per_class_score) | |
| def accuracy(outputs, labels): | |
| # y_hat = (sigmoid(outputs.cpu().detach().numpy()).flatten() > 0.5).astype('int') | |
| # y = labels.cpu().detach().numpy().flatten().astype('int') | |
| y_hat = (sigmoid(outputs.cpu().detach().numpy()) > 0.5).astype('int') | |
| y = labels.cpu().detach().numpy().astype('int') | |
| batch_size = y.shape[0] | |
| per_class_acc = np.sum(y == y_hat, axis=0) / batch_size | |
| # total = float(len(y)) | |
| # correct = float(np.sum(y == y_hat)) | |
| # return correct / total | |
| return np.mean(per_class_acc) | |