关于出现NameError: name ‘tokenizer‘ is not defined问题的解决

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,
    )

运行时会出现下载东西的过程:

耐心等待后成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值