pytorch 笔记: nn.Transformer
1 Transformertorch.nn.Transformer(d_model=512,nhead=8,num_encoder_layers=6,num_decoder_layers=6,dim_feedforward=2048,dropout=0.1,activation=<function relu>,custom_encoder=None,custom_decoder=Non
·
1 Transformer
torch.nn.Transformer(
d_model=512,
nhead=8,
num_encoder_layers=6,
num_decoder_layers=6,
dim_feedforward=2048,
dropout=0.1,
activation=<function relu>,
custom_encoder=None,
custom_decoder=None,
layer_norm_eps=1e-05,
batch_first=False,
norm_first=False,
device=None,
dtype=None)
1.1 参数说明
d_model | encoder和decoder输入中预期特征的维度(默认=512)。 |
nhead | 多头attention的head数量(默认为8) |
num_encoder_layers | encoder层的数量(默认为6) |
num_decoder_layers | decoder 层的数量(默认为6) |
dim_feedforward | feedforward层的维度数量(默认为2048) |
dropout | dropour值(默认为0.1) |
activation | encoder和decoder 中间层的激活函数(默认为relu) |
1.2 forward 函数
forward(
src,
tgt,
src_mask=None,
tgt_mask=None,
memory_mask=None,
src_key_padding_mask=None,
tgt_key_padding_mask=None,
memory_key_padding_mask=None)
1.2.1 参数说明
src | 喂给encoder的 sequence 形状: |
tgt | 喂给decoder的sequence 形状: |
src_mask | 给src sequence的额外的mask 形状:(S,S) |
tgt_mask | 给tgt sequence的额外的mask 形状:(T,T) |
memory_mask | 给encoder的输出的额外的mask 形状:(T,S) |
1.2.2 输出
2 TransformerEncoderLayer
torch.nn.TransformerEncoderLayer(
d_model,
nhead,
dim_feedforward=2048,
dropout=0.1,
activation=<function relu>,
layer_norm_eps=1e-05,
batch_first=False,
norm_first=False,
device=None,
dtype=None)
2.1 参数说明
d_model | encoder输入中预期特征的维度(默认=512) |
nhead | 多头attention的head数量(默认为8) |
dim_feedforward | feedforward层的维度数量(默认为2048) |
dropout | dropour值(默认为0.1) |
activation | encoder和decoder 中间层的激活函数(默认为relu) |
2.2 forward 函数
forward(
src,
src_mask=None,
src_key_padding_mask=None)
src | 喂给encoder的 sequence 形状: |
src_mask | 给src sequence的额外的mask 形状:(S,S) |
3 TransformerDecoderLayer
torch.nn.TransformerDecoderLayer(
d_model,
nhead,
dim_feedforward=2048,
dropout=0.1,
activation=<function relu>,
layer_norm_eps=1e-05,
batch_first=False,
norm_first=False,
device=None,
dtype=None)
3.1 参数说明
d_model | 输入中预期特征的维度(默认=512) |
nhead | 多头attention的head数量(默认为8) |
dim_feedforward | feedforward层的维度数量(默认为2048) |
dropout | dropour值(默认为0.1) |
activation | encoder和decoder 中间层的激活函数(默认为relu) |
3.2 forward 函数
forward(
tgt,
memory,
tgt_mask=None,
memory_mask=None,
tgt_key_padding_mask=None,
memory_key_padding_mask=None)
tgt | 喂给decoder的sequence |
memory | 从encoder的最后一层输出的部分 |
tgt_mask | 给tgt sequence的额外的mask 形状:(T,T) |
memory_mask | 给encoder的输出的额外的mask 形状:(T,S) |
4 torch.nn.
TransformerEncoder
torch.nn.TransformerEncoder(
encoder_layer,
num_layers,
norm=None)
num_layers个encoder_layer组成
4.1 forward函数
forward(src, mask=None, src_key_padding_mask=None)
src | 喂给encoder的 sequence 形状: |
mask | 给src sequence的额外的mask 形状:(S,S) |
5 torch.nn.
TransformerDecoder
torch.nn.TransformerDecoder(
decoder_layer,
num_layers,
norm=None)
num_layers个decoder_layer组成
5.1 forward 函数
forward(
tgt,
memory,
tgt_mask=None,
memory_mask=None,
tgt_key_padding_mask=None,
memory_key_padding_mask=None)
tgt | 喂给decoder的sequence |
memory | 从encoder的最后一层输出的部分 |
tgt_mask | 给tgt sequence的额外的mask 形状:(T,T) |
memory_mask | 给encoder的输出的额外的mask 形状:(T,S) |
更多推荐
已为社区贡献14条内容
所有评论(0)