Spaces:
Sleeping
Sleeping
# feature_extraction/embedding_extractor.py | |
from transformers import DistilBertTokenizer, DistilBertModel | |
import torch | |
import numpy as np | |
# Load once on CPU | |
model_name = "distilbert-base-uncased" | |
tokenizer = DistilBertTokenizer.from_pretrained(model_name) | |
model = DistilBertModel.from_pretrained(model_name) | |
model.eval() | |
def get_bert_embedding(text): | |
with torch.no_grad(): | |
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512) | |
outputs = model(**inputs) | |
cls_embedding = outputs.last_hidden_state[:, 0, :] # shape: (1, 768) | |
return cls_embedding.squeeze().numpy() |