Afsana24's picture
Upload 6 files
b4f43ff verified
Raw
History Blame Contribute Delete
615 Bytes
import torch
import torch.nn as nn
import torch.nn.functional as F
from transformers import RobertaModel
class LightweightModel(nn.Module):
def __init__(self, model_name="microsoft/codebert-base", proj_dim=128):
super().__init__()
self.bert = RobertaModel.from_pretrained(model_name)
self.projector = nn.Linear(self.bert.config.hidden_size, proj_dim)
def encode(self, ids, mask):
h = self.bert(ids, mask).last_hidden_state[:, 0, :]
p = self.projector(h)
return F.normalize(p, dim=-1)
def forward(self, ids, mask):
return self.encode(ids, mask)