【deepKE做NER教程】调bug!lstmcrf和bert均跑通

本文建立在deepke的依赖环境都已经安装好的基础上,如果对于deepke的安装大家有问题,后边也可以专门出一期教程。

目前关于deepke的实战教程大多数是以re关系抽取作为演示的,ner的代码和教程通过readme也能跑也能做,不过还是会有一些bug,这里将我实验过程中的步骤,以及遇到的bug、且如何调整,给大家分享一下。

1、准备数据集:首先根据其readme教程将数据宕下来并解压缩放在data文件夹里
wget 120.27.214.45/Data/ner/standard/data.tar.g
在这里插入图片描述
在这里插入图片描述
2、修改配置文件:事实上,如果数据准备好的话,就可以开始运行程序了:python run_lstmcrf.py,但是根据每个人电脑的情况,需要对配置文件进行修改,否则就会报出各种各样的错误
(1)首先是trian.yaml里gpu_id改为0(原本的是1,但是报错,参考re里的yaml,是0,就不报这个错了)主要是我的电脑就一个显卡,索引应该是0
在这里插入图片描述

(2)config.yaml中hydra/model为根据需求改为bert或lstmcrf,这里我用lstmcrf做演示
在这里插入图片描述
(3)第三个比较重要的是修改trian.yaml里的train_batch_size(原本这里的参数值是128,我的电脑英伟达显卡的显存能力是6GB,运行的时候一直显示out of memory,改成32之后就能顺利运行了)
在这里插入图片描述
这里的一个知识点是:如果显存资源有限,可以尝试减小批量大小或者缩小模型规模来适应硬件条件。(参考了这位作者的链接:https://blog.csdn.net/baidu_22388649/article/details/129149343

3、运行程序:然后python run_lstmcrf.py,就能顺利出结果啦!(不过运行有些慢)
在这里插入图片描述
通过模型结果可以看见准确率是0.9784

4、接下来运行python run_bert.py则要在config里将模型类型修改一下
在这里插入图片描述
在训练bert模型这里,可以看到train_batch_size改为32已经是本台电脑的最大能力了,可以看见显存利用率一直近爆,运行非常慢,电脑很烫,先暂停了。
在这里插入图片描述
但如下图所示(训练bert模型的过程),是能进行训练的。
在这里插入图片描述
这里需要注意的是,要把之前训练lstmcrf生成的checkpoint文件夹里的model.pth模型结果文件删掉(或者你给它保存到另外一个地方),把这个文件夹空出来,否则就会报错文件夹非空。
在这里插入图片描述
对了,如果你没有下载bert-base-chinese的参数模型的话,这是BERT模型参数下载的地址:https://huggingface.co/bert-base-chinese
将文件下载之后放在deepKE的pretrain文件夹下就行
在这里插入图片描述
核心是pytorch_model.bin文件、config.json文件、vocab.txt文件在这里插入图片描述

不过根据程序读取路径,我在deepke主文件夹下也放了这个文件夹以防万一在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yurous

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值