djagatiya commited on
Commit
d4b4f1f
·
1 Parent(s): cd07719

Initial checking

Browse files
app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+
4
+ from transformers import AutoTokenizer
5
+ from transformers.configuration_utils import PretrainedConfig
6
+ from transformers.models.distilbert.modeling_distilbert import DistilBertPreTrainedModel, DistilBertModel
7
+
8
+
9
+ import gradio as gr
10
+
11
+ class IMBDModel(DistilBertPreTrainedModel):
12
+
13
+ def __init__(self, config : PretrainedConfig):
14
+ super(IMBDModel, self).__init__(config)
15
+
16
+ self.distilbert = DistilBertModel(config)
17
+
18
+ # # freeze whole model
19
+ # for params in self.distilbert.parameters():
20
+ # params.requires_grad = False
21
+
22
+ # layers = self.distilbert.transformer.layer
23
+ # print("Total Layers:", len(layers))
24
+
25
+ # # Enable trainable few layers.
26
+ # for layer_num in [5]:
27
+ # for params in layers[layer_num].parameters():
28
+ # params.requires_grad = True
29
+
30
+ self.fc = nn.Linear(config.dim, 1)
31
+
32
+ self.post_init()
33
+
34
+ def forward(self, x):
35
+
36
+ x = self.distilbert(**x).last_hidden_state
37
+ pooled_output = x[:, 0]
38
+
39
+ x = self.fc(pooled_output)
40
+
41
+ return x
42
+
43
+
44
+ infer_path = "./model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/"
45
+
46
+ tokenizer = AutoTokenizer.from_pretrained(infer_path)
47
+
48
+ pretrained_model = IMBDModel.from_pretrained(infer_path, local_files_only=True)
49
+ pretrained_model.eval()
50
+
51
+ def prediction(text):
52
+
53
+ tokens = tokenizer(text, padding='max_length', truncation=True, max_length=512)
54
+ tokens = {k:torch.tensor([v]) for k, v in tokens.items()}
55
+
56
+ with torch.no_grad():
57
+
58
+ scores = pretrained_model(tokens)
59
+ scores = torch.sigmoid(scores).numpy()
60
+
61
+ scores = scores[0][0]
62
+
63
+ if scores >= 0.6:
64
+ label = "Positive"
65
+ elif 0.4 <= scores < 0.6:
66
+ label = "Neutral"
67
+ else:
68
+ label = "Negative"
69
+
70
+ return f"{label} feedback", f"{scores:.2f}"
71
+
72
+
73
+ demo = gr.Interface(
74
+ fn=prediction,
75
+ inputs=gr.Textbox(lines=5, placeholder="Text to analyze..."),
76
+ outputs=["text", "text"]
77
+ )
78
+
79
+ demo.launch(server_name="0.0.0.0")
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "distilbert-base-uncased",
3
+ "activation": "gelu",
4
+ "architectures": [
5
+ "IMBDModel"
6
+ ],
7
+ "attention_dropout": 0.1,
8
+ "dim": 768,
9
+ "dropout": 0.1,
10
+ "hidden_dim": 3072,
11
+ "initializer_range": 0.02,
12
+ "max_position_embeddings": 512,
13
+ "model_type": "distilbert",
14
+ "n_heads": 12,
15
+ "n_layers": 6,
16
+ "pad_token_id": 0,
17
+ "qa_dropout": 0.1,
18
+ "seq_classif_dropout": 0.2,
19
+ "sinusoidal_pos_embds": false,
20
+ "tie_weights_": true,
21
+ "torch_dtype": "float32",
22
+ "transformers_version": "4.23.1",
23
+ "vocab_size": 30522
24
+ }
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:edef516831654dda01b1564712e0d950eb18db4c5a13b65f33f3dad305f1b4fc
3
+ size 265486837
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "do_lower_case": true,
4
+ "mask_token": "[MASK]",
5
+ "model_max_length": 512,
6
+ "name_or_path": "distilbert-base-uncased",
7
+ "pad_token": "[PAD]",
8
+ "sep_token": "[SEP]",
9
+ "special_tokens_map_file": null,
10
+ "strip_accents": null,
11
+ "tokenize_chinese_chars": true,
12
+ "tokenizer_class": "DistilBertTokenizer",
13
+ "unk_token": "[UNK]"
14
+ }
model/fold0_epoch01_loss0.1403_val_loss0.1994_roc_auc0.9779/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ torch==1.12.1
2
+ transformers==4.23.1