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

Class Decoder

openrec/modeling/decoders/parseq_decoder.py:124–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122
123
124class Decoder(nn.Module):
125 __constants__ = ['norm']
126
127 def __init__(self, decoder_layer, num_layers, norm):
128 super().__init__()
129 self.layers = transformer._get_clones(decoder_layer, num_layers)
130 self.num_layers = num_layers
131 self.norm = norm
132
133 def forward(
134 self,
135 query,
136 content,
137 memory,
138 query_mask: Optional[Tensor] = None,
139 content_mask: Optional[Tensor] = None,
140 content_key_padding_mask: Optional[Tensor] = None,
141 ):
142 for i, mod in enumerate(self.layers):
143 last = i == len(self.layers) - 1
144 query, content = mod(
145 query,
146 content,
147 memory,
148 query_mask,
149 content_mask,
150 content_key_padding_mask,
151 update_content=not last,
152 )
153 query = self.norm(query)
154 return query
155
156
157class TokenEmbedding(nn.Module):

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected