MCPcopy Create free account
hub / github.com/NineAbyss/ZeroG / TextModel

Class TextModel

code/model.py:279–313  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277 return self.encoder(x, edge_index, edge_weigt, batch)
278
279class TextModel(nn.Module):
280 def __init__(self, encoder):
281 super(TextModel, self).__init__()
282 self.encoder = encoder
283 if self.encoder == 'Bert' or self.encoder == 'bert':
284 self.tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
285 self.textmodel = BertModel.from_pretrained('bert-base-uncased')
286
287
288 if self.encoder == 'Roberta' or self.encoder == 'roberta' :
289 self.tokenizer = RobertaTokenizer.from_pretrained('roberta-base')
290 self.textmodel = RobertaModel.from_pretrained('roberta-base')
291 if self.encoder == 'SentenceBert':
292 self.tokenizer = AutoTokenizer.from_pretrained("sentence-transformers/multi-qa-distilbert-cos-v1")
293 self.textmodel = AutoModel.from_pretrained("sentence-transformers/multi-qa-distilbert-cos-v1")
294 if self.encoder == 'SimCSE':
295 self.tokenizer = AutoTokenizer.from_pretrained('princeton-nlp/sup-simcse-bert-base-uncased')
296 self.textmodel = AutoModel.from_pretrained('princeton-nlp/sup-simcse-bert-base-uncased')
297 if self.encoder == 'e5':
298 self.tokenizer = AutoTokenizer.from_pretrained('intfloat/e5-base-v2')
299 self.textmodel = AutoModel.from_pretrained('intfloat/e5-base-v2')
300 if self.encoder == 't5':
301 self.tokenizer = T5Tokenizer.from_pretrained("t5-large")
302 self.textmodel = T5EncoderModel.from_pretrained("t5-large")
303
304
305
306 def forward(self, input):
307 inputs = self.tokenizer(input, return_tensors='pt', truncation=True, padding=True).to(self.textmodel.device)
308
309 with torch.no_grad():
310 outputs = self.textmodel(**inputs)
311
312 text_embedding = outputs[0][:,0,:].squeeze()
313 return text_embedding

Callers 6

label_embeddingMethod · 0.90
feature_embeddingMethod · 0.90
text_embMethod · 0.90
label_emb_funcMethod · 0.90
label_emb_funcMethod · 0.90
text_embMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected