fireseq上手——英德机器翻译|使用colab

一步一步跟着来就能够跑通英德机器翻译

1.安装

!git clone https://github.com/pytorch/fairseq.git
cd fairseq
!pip install --editable ./

查看fairseq版本(0.12.2)

!python -c "import fairseq;print(fairseq.__version__)"

fairseq文件夹添加到python路径

import os
os.environ['PYTHONPATH'] += ":/content/fairseq/"

2.数据准备

以交互方式试用shell指令 ,想要退出输入exit即可

!bash

然后在shell指令中输入

cd examples/translation/

这一步是在准备数据,“prepare-iwslt14.sh”是一个下载IWSLT 14 英语和德语的平行数据,并进行分词、BPE等操作的脚本

bash prepare-iwslt14.sh

执行完毕后会在fairseq/examples/translation下出现如下目录结构

最后输入exit退出shell

 

3. 文本数据转换为二进制的文件

当前默认是在fairseq根目录下,先进入到examples/translation/中,使用如下代码

cd examples/translation/

下面是转换为二进制的命令

!fairseq-preprocess --source-lang de --target-lang en \
    --trainpref iwslt14.tokenized.de-en/train \
    --validpref iwslt14.tokenized.de-en/valid \
    --testpref iwslt14.tokenized.de-en/test

转换完成后再translation下出现data-bin文件夹

 

4.训练

!fairseq-train data-bin --arch transformer_iwslt_de_en \
        --max-tokens 4096 --max-update 30000 \
        --optimizer adam --lr-scheduler inverse_sqrt --lr 0.0007 \
        --criterion label_smoothed_cross_entropy --label-smoothing 0.1 \
        --no-progress-bar --save-interval-updates 1000 

会自动生成checkpoint文件夹用来保存生成的模型,会有一个“checkpoint_best.pt”这个文件用于后续生成翻译结果。

5.生成翻译结果

!fairseq-generate data-bin --path checkpoints/checkpoint_best.pt --remove-bpe

 包含bleu值之类的

参考FaceBook-NLP工具Fairseq漫游指南(1)—命令行工具 - 知乎 (zhihu.com)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值