ligeti commited on
Commit
ec5cb0f
·
verified ·
1 Parent(s): a424266

Upload ProkBertForMaskedLM

Browse files
Files changed (2) hide show
  1. config.json +5 -5
  2. models.py +5 -15
config.json CHANGED
@@ -1,14 +1,14 @@
1
  {
2
- "_name_or_path": "/project/c_evolm/huggingface/prokbert-mini",
3
  "architectures": [
4
  "ProkBertForMaskedLM"
5
  ],
6
  "attention_probs_dropout_prob": 0.1,
7
  "auto_map": {
8
- "AutoConfig": "models.ProkBertConfig",
9
- "AutoModel": "models.ProkBertModel",
10
- "AutoModelForMaskedLM": "models.ProkBertForMaskedLM",
11
- "AutoModelForSequenceClassification": "models.ProkBertForSequenceClassification"
12
  },
13
  "classification_dropout_rate": 0.1,
14
  "hidden_act": "gelu",
 
1
  {
2
+ "_name_or_path": "neuralbioinfo/prokbert-mini",
3
  "architectures": [
4
  "ProkBertForMaskedLM"
5
  ],
6
  "attention_probs_dropout_prob": 0.1,
7
  "auto_map": {
8
+ "AutoConfig": "models.ProkBertConfig",
9
+ "AutoModel": "neuralbioinfo/prokbert-mini--models.ProkBertModel",
10
+ "AutoModelForMaskedLM": "models.ProkBertForMaskedLM",
11
+ "AutoModelForSequenceClassification": "neuralbioinfo/prokbert-mini--models.ProkBertForSequenceClassification"
12
  },
13
  "classification_dropout_rate": 0.1,
14
  "hidden_act": "gelu",
models.py CHANGED
@@ -9,7 +9,7 @@ import torch.nn.functional as F
9
  from transformers import MegatronBertConfig, MegatronBertModel, MegatronBertForMaskedLM, MegatronBertPreTrainedModel, PreTrainedModel
10
  from transformers.modeling_outputs import SequenceClassifierOutput
11
  from transformers.utils.hub import cached_file
12
-
13
 
14
  class BertForBinaryClassificationWithPooling(nn.Module):
15
  """
@@ -130,18 +130,6 @@ class BertForBinaryClassificationWithPooling(nn.Module):
130
 
131
 
132
 
133
- class OldProkBertConfig(MegatronBertConfig):
134
-
135
- model_type = "prokbert"
136
- def __init__(
137
- self,
138
- kmer: int = 6,
139
- shift: int = 1,
140
- **kwargs,
141
- ):
142
- super().__init__(**kwargs)
143
- self.kmer=kmer
144
- self.shift=shift
145
 
146
  class ProkBertConfig(MegatronBertConfig):
147
  model_type = "prokbert"
@@ -283,8 +271,10 @@ class ProkBertForSequenceClassification(ProkBertPreTrainedModel):
283
  # Classification head
284
  pooled_output = self.dropout(pooled_output)
285
  logits = self.classifier(pooled_output)
286
- loss = self.loss_fct(logits.view(-1, 2), labels.view(-1))
287
-
 
 
288
  classification_output = SequenceClassifierOutput(
289
  loss=loss,
290
  logits=logits,
 
9
  from transformers import MegatronBertConfig, MegatronBertModel, MegatronBertForMaskedLM, MegatronBertPreTrainedModel, PreTrainedModel
10
  from transformers.modeling_outputs import SequenceClassifierOutput
11
  from transformers.utils.hub import cached_file
12
+ from prokbert.training_utils import compute_metrics_eval_prediction
13
 
14
  class BertForBinaryClassificationWithPooling(nn.Module):
15
  """
 
130
 
131
 
132
 
 
 
 
 
 
 
 
 
 
 
 
 
133
 
134
  class ProkBertConfig(MegatronBertConfig):
135
  model_type = "prokbert"
 
271
  # Classification head
272
  pooled_output = self.dropout(pooled_output)
273
  logits = self.classifier(pooled_output)
274
+ loss = None
275
+ if labels is not None:
276
+ loss = self.loss_fct(logits.view(-1, self.config.num_labels), labels.view(-1))
277
+
278
  classification_output = SequenceClassifierOutput(
279
  loss=loss,
280
  logits=logits,