Gloomreach's picture
Upload folder using huggingface_hub
cd28ab1 verified
Raw
History Blame Contribute Delete
842 Bytes
import torch
import torch.nn as nn
from transformers import AutoModel
class MultiTaskToxicityEncoder(nn.Module):
def __init__(self, base_model="cointegrated/rubert-tiny2"):
super().__init__()
self.encoder = AutoModel.from_pretrained(base_model)
hidden_size = self.encoder.config.hidden_size
self.profanity_head = nn.Linear(hidden_size, 1)
self.threat_head = nn.Linear(hidden_size, 1)
self.illegal_head = nn.Linear(hidden_size, 1)
def forward(self, input_ids, attention_mask):
outputs = self.encoder(input_ids=input_ids, attention_mask=attention_mask)
cls_embedding = outputs.last_hidden_state[:, 0, :]
return (
self.profanity_head(cls_embedding),
self.threat_head(cls_embedding),
self.illegal_head(cls_embedding)
)