MCPcopy Create free account
hub / github.com/Topdu/OpenOCR / Decoder

Class Decoder

openrec/modeling/decoders/dptr_parseq_clip_b_decoder.py:938–968  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

936
937
938class Decoder(nn.Module):
939 __constants__ = ['norm']
940
941 def __init__(self, decoder_layer, num_layers, norm):
942 super().__init__()
943 self.layers = transformer._get_clones(decoder_layer, num_layers)
944 self.num_layers = num_layers
945 self.norm = norm
946
947 def forward(
948 self,
949 query,
950 content,
951 memory,
952 query_mask: Optional[Tensor] = None,
953 content_mask: Optional[Tensor] = None,
954 content_key_padding_mask: Optional[Tensor] = None,
955 ):
956 for i, mod in enumerate(self.layers):
957 last = i == len(self.layers) - 1
958 query, content = mod(
959 query,
960 content,
961 memory,
962 query_mask,
963 content_mask,
964 content_key_padding_mask,
965 update_content=not last,
966 )
967 query = self.norm(query)
968 return query
969
970
971class TokenEmbedding(nn.Module):

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected