Skip to content

litianyang0211/Transformer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

本项目使用PyTorch搭建Transformer模型,并给出尽可能详细的代码注释。在阅读代码之前,请先熟读经典论文Attention Is All You Need以及关于Transformer的解释

关于代码的细节,也可以参考Transformer in PyTorch

Model

  • param.py设置了相关参数。

  • utils.py包括四个帮助函数:自注意力的计算、掩码的生成、克隆函数。

  • embeddings.py实现了词嵌入。

  • positional_encoding.py实现了添加位置编码。

  • multi_head_attn.py是模型中最核心的部分,实现了多头注意力机制。

  • pos_feed_forward.py实现了前馈网络。

  • encoder_layer.pydecoder_layer.py分别实现了编码器和解码器,包括了多头注意力机制和前馈网络。

  • encoder.pydecoder.py实现了编码器和解码器的堆栈,以及编码器和解码器之间的互动。

  • transformer.py实现了整一个Transformer模型。

Usage

  • 运行easy_example.py即可训练一个简易的德英翻译模型。

TODO

  • 简易例子的测试

  • 复杂例子

About

Transformer in PyTorch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages