上一篇咱們介紹了 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?