SnapSearch / models /tokenizer.py
ashish-001's picture
Upload 5016 files
f7b58ad verified
Raw History Blame Contribute Delete
837 Bytes
from tokenizers import Tokenizer
from utils.config import TOKENIZER_DIR
import numpy as np
class ModelTokenizer:
def __init__(self):
TOKENIZER_FILE = TOKENIZER_DIR / "tokenizer.json"
self.tokenizer = Tokenizer.from_file(str(TOKENIZER_FILE))
self.MAX_LEN = 77
def tokenize_text(self, text):
encoding = self.tokenizer.encode(text)
input_ids = encoding.ids
# implementing padding
ids = encoding.ids[:self.MAX_LEN]
mask = [1]*len(ids)
pad = self.MAX_LEN-len(ids)
ids += [0]*pad
mask += [0]*pad
input_ids = np.array([ids], dtype=np.int64)
attention_mask = np.array([mask], dtype=np.int64)
return {
"input_ids": input_ids,
"attention_mask": attention_mask
}