项目实训
NewtonLoop
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
个人总结啊
问答模型由两部分组成reader模型训练使用了dureader数据集,并用flask库作为服务器进行主机间的通信KBQA中训练了三个模型并使用torchserve部署到老师提供的服务器上,提供多线程、并发访问操作启动reader运行paddle文件夹下的app.py启动KBQA在QA文件夹下运行指令或在老师服务器上运行下面四条指令...原创 2022-06-11 22:43:49 · 251 阅读 · 1 评论 -
问答模型(十一) reader部署
使用flask将最开始训练好的paddle框架的阅读理解部署到本地,向前端同学开放输入query及context后返回answer及答案置信度的apiapi测试输出如下原创 2022-06-06 22:49:54 · 312 阅读 · 0 评论 -
问答模型(十) torchserve部署
父类basehandler类方法功能分析def initialize:初始化类内变量def preprocess:收取由该模型接口传入的数据inference:送入模型进行预测后得到模型的输出postprocess:对输出数据后处理部署逻辑单个模型的基本逻辑向NER接口发送question可进行question的命名实体识别得到entity向W2V接口发送entity可得到entity的close entity向reader接口发送question和doc可获得answer模型原创 2022-06-06 19:51:38 · 426 阅读 · 0 评论 -
问答模型(九) 模糊查询改进
下载预训练的W2V词表使用gensim读取下载的预训练词向量并存为.pickle格式(因为某些暂时不清楚的原因,torchserve里没有成功使用gensim读取到词向量,因此存为.pickle格式,使用pickle.load(f)方法进行读取)引入词向量后的近似实体识别测试测试中为了简单且速度快,没有使用NER模型提取实体,而是使用jieba进行关键词提取即词性分析得到命名实体效果如下...原创 2022-06-05 19:51:45 · 261 阅读 · 0 评论 -
问答模型(八) 训练NER模型
NLPCC2016KBQA数据格式:使用问题与三元组的第一个元素对albert模型进行训练原创 2022-06-05 19:45:22 · 300 阅读 · 0 评论 -
[问答模型]七 模型优化
为中文维基百科知识建立索引库,利用albert模型进行命名实体提取,提取后进行检索。通过预训练W2V中文词向量进行模糊关键词匹配,最终找到索引库中的文段,使用上述阅读理解模型进行答案获取。选择torchserve作为模型服务器部署工具,因此将模型全部替换为torch框架下的模型。将转化为json的中文wiki数据存入sqlite数据库,对大规模数据索引进行加速...原创 2022-06-05 19:37:39 · 130 阅读 · 0 评论 -
问答模型(六)——模型训练与预测
模型训练模型训练的过程通常有以下步骤:从dataloader中取出一个batch data将batch data喂给model,做前向计算将前向计算结果传给损失函数,计算loss。loss反向回传,更新梯度。重复以上步骤。每训练一个epoch时,程序通过evaluate()调用paddlenlp.metric.squad中的squad_evaluate(), compute_predictions()评估当前模型训练的效果,其中:compute_predictions()用于生成可提交原创 2022-03-16 20:17:32 · 853 阅读 · 0 评论 -
问答模型(八)——选用多种样例进行测试
以下是一些自己ctrl+c ctrl+v的、不属于测试集的问题及段落,既测试模型在不同类问题上的表现,也测试能否处理仅有一条数据的数据集。废话小编数据形式:{ "data": [ { "paragraphs": [ { "context": "王者荣耀520活动将会限时返场小乔&周瑜的情人节皮肤纯白花嫁&真爱至上。那么小乔纯白花嫁怎么获得呢?需要多少点券呢?相信不少玩家还原创 2022-03-16 19:50:21 · 319 阅读 · 0 评论 -
问答模型(七)——整合代码
from paddlenlp.datasets import load_datasetimport paddlenlp as ppnlpfrom utils import prepare_train_features, prepare_validation_featuresfrom functools import partialfrom paddlenlp.metrics.squad import squad_evaluate, compute_predictionimport paddlenl原创 2022-03-16 19:30:34 · 1648 阅读 · 3 评论 -
问答模型(六)——模型训练及预测
模型训练模型训练的过程通常有以下步骤:从dataloader中取出一个batch data将batch data喂给model,做前向计算将前向计算结果传给损失函数,计算loss。loss反向回传,更新梯度。重复以上步骤。每训练一个epoch时,程序通过evaluate()调用paddlenlp.metric.squad中的squad_evaluate(), compute_predictions()评估当前模型训练的效果,其中:compute_predictions()用于生成可提交原创 2022-03-16 17:28:50 · 865 阅读 · 0 评论 -
问答模型(五)——模型构建
阅读理解本质是一个答案抽取任务,PaddleNLP对于各种预训练模型已经内置了对于下游任务-答案抽取的Fine-tune网络。以下项目以BERT为例,介绍如何将预训练模型Fine-tune完成答案抽取任务。答案抽取任务的本质就是根据输入的问题和文章,预测答案在文章中的起始位置和结束位置。基于BERT的答案抽取原理如下图所示:# 设置想要使用模型的名称model = ppnlp.transformers.BertForQuestionAnswering.from_pretrained(MODEL_N原创 2022-03-16 17:25:15 · 2250 阅读 · 0 评论 -
问答模型(四)——数据处理
使用load_dataset()API默认读取到的数据集是MapDataset对象,MapDataset是paddle.io.Dataset的功能增强版本。其内置的map()方法适合用来进行批量数据集处理。map()方法传入的是一个用于数据处理的function。 以下是Dureader-Robust中数据转化的用法:max_seq_length = 512doc_stride = 128train_trans_func = partial(prepare_train_features,原创 2022-03-16 17:19:34 · 393 阅读 · 0 评论 -
问答模型(三)——数据预处理时的bug们
bug1自己编写的read数据方法使用loaddatasets方法后得到的单条数据类型为Tuple,而预加载的单条数据类型为Dict因此将数据集全部转为Dicttrain_ds = dict(train_ds)这样将迎来了第二个bugbug2预加载的数据集可以使用xxx[-1]访问到最后一条数据,而本地加载的数据集智能用xxx[len(xxx) - 1]访问到最后一条数据。发现本地加载的数据集是通过每条数据自带的index列对数据进行索引访问,而预加载的数据集index是不包含在数据中.原创 2022-03-16 17:15:47 · 175 阅读 · 0 评论 -
问答模型训练(二)——数据预处理
到目前为止,问答模型的代码已经全部写完并可以跑通啦,所以此篇以及后续的n篇里,内容会集中在复盘+细节修正上。服务器选择paddlepaddle和paddlenlp已经在自己的电脑上配置完成,但由于个人PC算力有限,在AI Studio上使用模拟我的8G CPU无GPU的环境进行模型训练时,无论如何调节batchsize,内存始终溢出。为了模型训练的效果,最终还是选择了在AI Studio上对模型进行训练。同样,后续使用模型进行预测时,在数据预处理过程以及后续预测过程都出现了内存溢出的情况,因此拟用AI原创 2022-03-16 17:06:25 · 2743 阅读 · 3 评论 -
问答模型训练(一)
参考AI Studio----基于bert的模型的机器阅读理解安装paddle2.0.2框架执行以下命令安装(推荐使用百度源):python -m pip install paddlepaddle==2.0.2 -i https://mirror.baidu.com/pypi/simple修改下载到的paddle的源码按理说下载好的库与参考链接中使用的库相同,在安装好该环境后就能直接使用。但实际情况是,pip安装的库与paddle的github仓库中的文件有所出入,因此将使用到的文件对照gi原创 2022-03-13 11:35:45 · 1586 阅读 · 0 评论 -
问答模型方案设计
方案设计图示query: 用户的提问passage: 文章问答模型设计的是简单问题模型,即query的答案是从passage中抽取出的。query和passage经过数据预处理,得到id形式的输入,然后把query,passage的id形式输入到BERT模型,BERT模型经过处理会输出答案的位置,输出位置以后就可以得到相应的答案了。...原创 2022-03-10 17:37:15 · 950 阅读 · 0 评论 -
问答模型综述
原创 2022-02-28 21:49:50 · 993 阅读 · 0 评论
分享