cpi-connect commited on
Commit
3506c78
·
1 Parent(s): e56f2e0

Delete model.py

Browse files
Files changed (1) hide show
  1. model.py +0 -66
model.py DELETED
@@ -1,66 +0,0 @@
1
- from transformers import PreTrainedModel
2
- import torch
3
-
4
- from nugget_model_utils import CustomRobertaWithPOS as NuggetModel
5
- from args_model_utils import CustomRobertaWithPOS as ArgumentModel
6
- from realis_model_utils import CustomRobertaWithPOS as RealisModel
7
-
8
- from configuration import CybersecurityKnowledgeGraphConfig
9
-
10
- from event_nugget_predict import create_dataloader as event_nugget_dataloader
11
- from event_realis_predict import create_dataloader as event_realis_dataloader
12
- from event_arg_predict import create_dataloader as event_argument_dataloader
13
-
14
- class CybersecurityKnowledgeGraphModel(PreTrainedModel):
15
- config_class = CybersecurityKnowledgeGraphConfig
16
-
17
- def __init__(self, config):
18
- super().__init__(config)
19
- self.event_nugget_model_path = config.event_nugget_model_path
20
- self.event_argument_model_path = config.event_argument_model_path
21
- self.event_realis_model_path = config.event_realis_model_path
22
-
23
- self.event_nugget_dataloader = event_nugget_dataloader
24
- self.event_argument_dataloader = event_argument_dataloader
25
- self.event_realis_dataloader = event_realis_dataloader
26
-
27
- self.event_nugget_model = NuggetModel(num_classes = 11)
28
- self.event_argument_model = ArgumentModel(num_classes = 43)
29
- self.event_realis_model = RealisModel(num_classes_realis = 4)
30
-
31
- self.event_nugget_model.load_state_dict(torch.load(self.event_nugget_model_path))
32
- self.event_realis_model.load_state_dict(torch.load(self.event_realis_model_path))
33
- self.event_argument_model.load_state_dict(torch.load(self.event_argument_model_path))
34
-
35
-
36
- def forward(self, text):
37
- nugget_dataloader, _ = self.event_nugget_dataloader(text)
38
- argument_dataloader, _ = self.event_argument_dataloader(text)
39
- realis_dataloader, _ = self.event_realis_dataloader(text)
40
-
41
- nugget_pred = self.forward_model(self.event_nugget_model, nugget_dataloader)
42
- no_nuggets = torch.all(nugget_pred == 0, dim=1)
43
-
44
- argument_preds = torch.empty(nugget_pred.size())
45
- realis_preds = torch.empty(nugget_pred.size())
46
- for idx, (batch, no_nugget) in enumerate(zip(nugget_pred, no_nuggets)):
47
- if no_nugget:
48
- argument_pred, realis_pred = torch.zeros(batch.size()), torch.zeros(batch.size())
49
- else:
50
- argument_pred = self.forward_model(self.event_argument_model, argument_dataloader)
51
- realis_pred = self.forward_model(self.event_realis_model, realis_dataloader)
52
- argument_preds[idx] = argument_pred
53
- realis_preds[idx] = realis_pred
54
-
55
- return {"nugget" : nugget_pred, "argument" : argument_pred, "realis" : realis_pred}
56
-
57
- def forward_model(self, model, dataloader):
58
- predicted_label = []
59
- for batch in dataloader:
60
- with torch.no_grad():
61
- print(batch.keys())
62
- logits = model(**batch)
63
-
64
- batch_predicted_label = logits.argmax(-1)
65
- predicted_label.append(batch_predicted_label)
66
- return torch.cat(predicted_label, dim=-1)