ganeshkonapalli commited on
Commit
6a626aa
·
verified ·
1 Parent(s): 0e73d34

Create models/roberta_model.py

Browse files
Files changed (1) hide show
  1. models/roberta_model.py +19 -0
models/roberta_model.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from transformers import RobertaModel
4
+ from app.config import ROBERTA_MODEL_NAME
5
+
6
+ class RobertaMultiOutputModel(nn.Module):
7
+ def __init__(self, num_labels):
8
+ super(RobertaMultiOutputModel, self).__init__()
9
+ self.roberta = RobertaModel.from_pretrained(ROBERTA_MODEL_NAME)
10
+ self.dropout = nn.Dropout(0.3)
11
+ self.classifiers = nn.ModuleList([
12
+ nn.Linear(self.roberta.config.hidden_size, n_classes) for n_classes in num_labels
13
+ ])
14
+
15
+ def forward(self, input_ids, attention_mask):
16
+ output = self.roberta(input_ids=input_ids, attention_mask=attention_mask)
17
+ pooled_output = output.pooler_output
18
+ pooled_output = self.dropout(pooled_output)
19
+ return [classifier(pooled_output) for classifier in self.classifiers]