INNER CODE UNIT · Python
GptDialogueDataset
Koziev/NLP_Datasets · Conversations/Data/run_chitchat_query.py:17
class GptDialogueDataset(torch.utils.data.Dataset):
def __init__(self, tokenizer, file_path, block_size):
self.examples = []
self.transform = None
with open(file_path, encoding="utf-8") as f:
chunks = f.read().split('\n\n') # пустая строка (или две) - разделитель диалогов
for chunk in chunks:
if len(chunk) > 0:
tokenized_chunk = tokenizer.convert_tokens_to_ids(tokenizer.tokenize(chunk.strip()))
l = len(tokenized_chunk)
if l < block_size:
self.examples.append(tokenizer.build_inputs_with_special_tokens(tokenized_chunk))
else:
while tokenized_chunk:
self.examples.append(tokenizer.build_inputs_with_special_tokens(tokenized_chunk[:block_size]))
tokenized_chunk = tokenized_chunk[block_size:]
def __len__(self):