A fair loss function
Project description
A fair PyTorch loss function
The goal of this loss function is to take fairness into account during the training of a PyTorch model. It works by adding a fairness measure to a regular loss value, following this equation:
Installation
pip install fair-loss
Example
import torch
from fair_loss import FairLoss
model = torch.nn.Sequential(torch.nn.Linear(5, 1), torch.nn.ReLU())
data = torch.randint(0, 5, (100, 5), dtype=torch.float, requires_grad=True)
y_true = torch.randint(0, 5, (100, 1), dtype=torch.float)
y_pred = model(data)
# Let's say the sensitive attribute is in the second dimension
dim = 1
criterion = FairLoss(torch.nn.MSELoss(), data[:, dim].detach().unique(), accuracy)
loss = criterion(data[:, dim], y_pred, y_true)
loss.backward()
Documentation
See the documentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fair_loss-0.5.tar.gz
(29.8 kB
view hashes)
Built Distribution
fair_loss-0.5-py3-none-any.whl
(16.3 kB
view hashes)