Views
No views yet
1from transformers import AutoTokenizer, AutoModel
2
3model_name = "JadenLong/MutBERT"
4# Optional: JadenLong/MutBERT-Huamn-Ref, JadenLong/MutBERT-Multi
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModel.from_pretrained(model_name, trust_remote_code=True)1import torch
2import torch.nn.functional as F
3
4from transformers import AutoTokenizer, AutoModel
5
6model_name = "JadenLong/MutBERT"
7# Optional: JadenLong/MutBERT-Huamn-Ref, JadenLong/MutBERT-Multi
8tokenizer = AutoTokenizer.from_pretrained(model_name)
9model = AutoModel.from_pretrained(model_name, trust_remote_code=True)
10
11dna = "ATCGGGGCCCATTA"
12inputs = tokenizer(dna, return_tensors='pt')["input_ids"]
13
14mut_inputs = F.one_hot(inputs, num_classes=len(tokenizer)).float().to("cpu") # len(tokenizer) is vocab size
15last_hidden_state = model(mut_inputs).last_hidden_state # [1, sequence_length, 768]
16# or: last_hidden_state = model(mut_inputs)[0] # [1, sequence_length, 768]
17
18# embedding with mean pooling
19embedding_mean = torch.mean(last_hidden_state[0], dim=0)
20print(embedding_mean.shape) # expect to be 768
21
22# embedding with max pooling
23embedding_max = torch.max(last_hidden_state[0], dim=0)[0]
24print(embedding_max.shape) # expect to be 7681from transformers import AutoModelForSequenceClassification
2
3model_name = "JadenLong/MutBERT"
4# Optional: JadenLong/MutBERT-Huamn-Ref, JadenLong/MutBERT-Multi
5model = AutoModelForSequenceClassification.from_pretrained(model_name, trust_remote_code=True, num_labels=2)linear and dynamic. To extend the model's context window you need to add rope_scaling parameter.1model_name = "JadenLong/MutBERT"
2# Optional: JadenLong/MutBERT-Huamn-Ref, JadenLong/MutBERT-Multi
3model = AutoModel.from_pretrained(model_name,
4 trust_remote_code=True,
5 rope_scaling={'type': 'dynamic','factor': 2.0}
6 ) # 2.0 for x2 scaling, 4.0 for x4, etc..