pytorch:从零搭建transformer(附完整代码)


















pytorch:从零搭建transformer(附完整代码)
分层介绍pytorch实现transformer
1、采用谷歌论文中的高清图片
2、增加论文中的公式以及源码实现的公式变体
3、源代码可直接运行
全文先分成四部分介绍:输入部分、encoder部分、decoder部分、输出部分
最后介绍整体的transformer类、封装的构建函数、测试与查询模型结构
1、输入部分
# 词嵌入
class Embeddings(nn.Module):
# 位置编码器
class PositionalEncoding(nn.Module):
2、encoder部分
# 多头注意力
class MultiHeadAttention(nn.Module):
# 前馈全连接层
class FeedForward(nn.Module):
# 规范化层
class LayerNorm(nn.Module):
# 子层连接结构
class SublayerConnection(nn.Module):
# 编码器层
class EncoderLayer(nn.Module):
# 编码器
class Encoder(nn.Module):
3、decoder部分
# 解码器层
class DecoderLayer(nn.Module):
# 解码器
class Decoder(nn.Module):
4、输出部分
# 生成器类,线性层+softmax计算层
class Generator(nn.Module):
5、整体类
# 编码器 解码器
class Transformer(nn.Module):
# 构建模型
def build_transformer
夜雨聆风
