1.检查是否
from transformers import BertTokenizer
2.检查是否正确初始化
tokenizer = BertTokenizer.from_pretrained("./bert-base-chinese/") # 这里以berttokenizer的bert-base-chinese为例
3.以上都没问题可能你也碰到今天下午我在代码中遇到的问题:
tokenizer = BertTokenizer.from_pretrained("./bert-base-chinese/") # 使用预训练的中文BERT分词器
# 定义分词函数,处理每个数据集示例
def tokenize_function(example):
return tokenizer(
example['sentence'],
padding='max_length',
truncation=True,
max_length=30,
)
这里在运行以下代码时
datasets = datasets.map(tokenize_function, batched=True, batch_size=1000, num_proc=4)
就出现了NameError: name 'tokenizer' is not defined
经过不断的尝试,甚至重启了电脑
通过以下办法解决:(将tokenizer以参数传入)
def tokenize_function(example, tokenizer = tokenizer):
return tokenizer(
example['sentence'],
padding='max_length',
truncation=True,
max_length=30,
)
运行时会出现下载东西的过程:
耐心等待后成功