PyTorch中nn.Transformer的state_dict()解析及编码器注意力定位
关于仅编码器Transformer模型注意力矩阵的疑问
我正在解析一个Transformer模型,模型结构如下:
self.src_mask = None self.pos_encoder = PositionalEncoding(feature_size) self.encoder_layer = nn.TransformerEncoderLayer(d_model=feature_size, nhead=nhead, dropout=dropout) self.transformer_encoder = nn.TransformerEncoder(self.encoder_layer, num_layers=num_layers) self.decoder = nn.Linear(feature_size, output_size)
这是一个仅含编码器的Transformer模型,搭配线性解码器层(若有误请指正)。我试图找到编码器传递给解码器的注意力矩阵。
我尝试通过state_dict()查找相关内容,最后一层编码器的键如下:
transformer_encoder.layers.2.self_attn.in_proj_weighttransformer_encoder.layers.2.self_attn.in_proj_biastransformer_encoder.layers.2.self_attn.out_proj.weighttransformer_encoder.layers.2.self_attn.out_proj.biastransformer_encoder.layers.2.linear1.weighttransformer_encoder.layers.2.linear1.biastransformer_encoder.layers.2.linear2.weighttransformer_encoder.layers.2.linear2.biastransformer_encoder.layers.2.norm1.weighttransformer_encoder.layers.2.norm1.biastransformer_encoder.layers.2.norm2.weighttransformer_encoder.layers.2.norm2.bias
我想知道其中哪一个对应传递给解码器的注意力?我理解注意力的长度应与输入一致,但查阅文档未找到有效信息,恳请帮助!
内容的提问来源于stack exchange,提问作者lalal8o
相关产品推荐
相关产品推荐

