NLP项目,主要包括atten-seq2seq和transformer模型,实现机器翻译以及对话系统。
软件架构说明
在文件夹路径下 pip install -r requirements.txt
可能安装完后会提示前面两个东西版本不符合,不用管他
transformer对话系统标准模型,在dailydialog训练对话系统模型,链接:https://pan.xunlei.com/s/VN8UfYM4o2Ef4r5hAHYm8KmUA1?pwd=5rht# 提取码:5rht
transformer机器翻译的模型就在model/translation文件夹里面。
transformer机器翻译的模型是用cuda:1训练的,如果要使用可能需要修改代码
如:gpu->cpu,即在CPU上使用
torch.load('trans_encoder.mdl', map_location= lambda storage, loc: storage)
torch.load('trans_decoder.mdl', map_location= lambda storage, loc: storage)
如:cuda1->cuda0,即在gpu上使用
torch.load('trans_encoder.mdl', map_location={'cuda:1' : 'cuda:0'})
torch.load('trans_decoder.mdl', map_location={'cuda:1' : 'cuda:0'})
Seq2Seq模型链接:https://pan.xunlei.com/s/VNSf-x6_dF6bKTECothnVkGYA1?pwd=w43w#
模型名称可能需要修改为对应名称,和代码保持一致
分对话系统和机器翻译两部分
data为数据集
model为训练的模型
translation文件夹下又分了Seq2Seq和transformer两个模型,大家按需查看使用
以transformer文件夹为例,attention.py主要实现了注意力机制,transformer.py实现了transformer的主体架构,data.py为数据的预处理以及生成了词典、dataset、dataloader,readdata.py运行可以查看数据形状,train.py为训练模型,predict.py为预测,config.py为一些参数的定义。
transformer机器翻译的模型是用cuda:1训练的,如果要使用可能需要修改代码
如:gpu->cpu,即在CPU上使用
torch.load('trans_encoder.mdl', map_location= lambda storage, loc: storage)
torch.load('trans_decoder.mdl', map_location= lambda storage, loc: storage)
如:cuda1->cuda0,即在gpu上使用
torch.load('trans_encoder.mdl', map_location={'cuda:1' : 'cuda:0'})
torch.load('trans_decoder.mdl', map_location={'cuda:1' : 'cuda:0'})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型