上一篇咱们介绍了 Transformer 的原理,今天咱们来根据论文动手编写一个 Transformer,并将其应用在咱们前面讲过的机器翻译的例子上,你们感兴趣也能够进行对比学习。ide
这里的数据部分和前面机器翻译那篇是同样的,使用 ManyThings.org 的英语—法语的数据集,一样为了简化只选取 20 句。由于例子比较小,咱们也会对论文中设置的一些参数进行简化。学习
准备数据
import tensorflow as tf import numpy as np import unicodedata import re import time import matplotlib.pyplot as plt raw_data = ( ('What a ridiculous concept!', 'Quel concept ridicule !'), ('Your idea is not entirely crazy.', "Votre idée n'est pas complètement folle."), ("A man's worth lies in what he is.", "La valeur d'un homme réside dans ce qu'il est."), ('What he did is very wrong.', "Ce qu'il a fait est très mal."), ("All three of you need to do that.", "Vous avez besoin de faire cela, tous les trois."), ("Are you giving me another chance?