用bert_keras精调中文albert模型的一些小技巧

在使用keras_bert进行Chinese ALBERT模型微调时,遇到由于'CLS'和'SEP'标识导致的张量形状不匹配问题。解决方案包括调整Tokenizer或模型输入张量的形状。调整后,代码能顺利运行,并在中文NLP任务上表现优于非中文版BERT。
摘要由CSDN通过智能技术生成

在使用keras_bert精调中文albert模型的过程中,发现采用开源的Tokenizer代码,会出现训练过程中张量形状不匹配的问题。
进一步探索,会发现Tokenizer会默认在句子的前后加上’CLS’和’SEP’标识,导致出来的id数目会比设置的maxlen多2个(bert模型自带的机制),因此导致后续定义模型时针对输入张量定义形状时,会出现问题:

class OurTokenizer(Tokenizer):

    def _tokenize(self, text):

        R = []

        for c in text:

            if c in self._token_dict:

                R.append(c)

            elif self._is_space(c):

                R.append(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值