解决seq2seq+attention机器翻译中的技术小难题

1 源码

首先上源码:https://github.com/keon/seq2seq
通常我们使用这个源代码来学习机器翻译的模型架构,但是会遇到诸多小技术问题。

2 python -m spacy download en 提示服务器连接一直失败安装不上

官方描述的以下命令行是无法使用的,会出现连接不上的错误:

python -m spacy download de
python -m spacy download en

于是乎,需要使用这两个包de_core_news_sm-2.3.0.tar.gz和en_core_web_sm-2.2.5.tar.gz,没有度盘会员的可以自行点进去下载。亲测可用。

3 修改代码

代码里面需要修改两个地方:
utils.py中的前几行:

import re
import spacy
from torchtext.legacy.data import Field, BucketIterator # 加上legacy!!!
from torchtext.legacy.datasets import Multi30k # 加上legacy!!!

然后是接下来的几行改为:

def load_dataset(batch_size):
    spacy_de = spacy.load('de_core_news_sm') # 这里的参数原来是de
    spacy_en = spacy.load('en_core_web_md') # 这里的参数原来是en
    url = re.compile('(.*)')
    ……

4 pycharm/anaconda+torch+cuda+gpu环境

不会配环境的参考我这篇博客。

在win10+anaconda环境中装好后,在pycharm中使用conda的虚拟环境内核即可使用。

5 效果

解决seq2seq+attention机器翻译中的技术小难题_第1张图片

你可能感兴趣的:(NLP,机器翻译,人工智能,自然语言处理,seq2seq,attention)