我有一个关于“即时”标记化的问题。这个问题是通过阅读此处的“如何使用 Transformers 和 Tokenizers 从头开始训练新的语言模型”引发的。最后有这句话:“如果您的数据集非常大,您可以选择动态加载和标记示例,而不是作为预处理步骤”。datasets
我尝试提出一个将和结合起来的解决方案tokenizers
,但没有找到一个好的模式。
我想解决方案需要将数据集包装到 Pytorch 数据集中。
import torch
class SquadDataset(torch.utils.data.Dataset):
def __init__(self, encodings):
# instead of doing this beforehand, I'd like to do tokenization on the fly
self.encodings = encodings
def __getitem__(self, idx):
return {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}
def __len__(self):
return len(self.encodings.input_ids)
train_dataset = SquadDataset(train_encodings)
如何利用标记器的矢量化功能通过“即时”标记化来实现这一点?