hugo-albert commited on
Commit
ac86e6a
·
1 Parent(s): 67ab415

Upload XLMRobertargument.py

Browse files
Files changed (1) hide show
  1. XLMRobertargument.py +34 -0
XLMRobertargument.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from torch import nn
3
+ from transformers import AutoTokenizer, XLMRobertaModel
4
+
5
+ class XLMRoBERTaClassifier(nn.Module):
6
+ def __init__(self, dropout=0.3, model_name='xlm-roberta-large'):
7
+ super(XLMRoBERTaClassifier, self).__init__()
8
+ self.roberta = XLMRobertaModel.from_pretrained(model_name)
9
+ self.dropout = nn.Dropout(dropout)
10
+ self.relu = nn.ReLU()
11
+ self.sigmoid = nn.Sigmoid()
12
+ self.conv1 = nn.Conv1d(200,3,3)
13
+ self.conv2 = nn.Conv1d(3,3,3)
14
+ self.pool = nn.MaxPool1d(3)
15
+ self.flatten = nn.Flatten()
16
+ self.linear = nn.Linear(336, 128)
17
+ self.final_layer = nn.Linear(128, 1)
18
+
19
+ def forward(self, input_id, mask): #, extra_features):
20
+ roberta_output = self.roberta(input_ids = input_id,
21
+ attention_mask=mask)
22
+ last_hidden_state = roberta_output.last_hidden_state
23
+ conv_output = self.conv1(last_hidden_state)
24
+ pool_output = self.pool(conv_output)
25
+ conv_output = self.conv2(pool_output)
26
+ pool_output = self.pool(conv_output)
27
+ flatten_output = self.flatten(pool_output)
28
+ #output_concat = torch.cat((flatten_output, extra_features), 1)
29
+ linear_output = self.linear(flatten_output)
30
+ dropout_output = self.dropout(linear_output)
31
+ final_output = self.final_layer(dropout_output)
32
+ sigmoid_output = self.sigmoid(final_output)
33
+ sigmoid_output = torch.squeeze(sigmoid_output)
34
+ return sigmoid_output