MCPcopy Create free account
hub / github.com/zai-org/CodeGeeX / QueryLayer

Class QueryLayer

codegeex/mindspore/src/pangu_alpha_fp16_predict.py:105–213  ·  view source on GitHub ↗

r"""Query Layer at the final layer.

Source from the content-addressed store, hash-verified

103
104
105class QueryLayer(TransformerEncoderLayer):
106 r"""Query Layer at the final layer."""
107
108 def __init__(
109 self,
110 batch_size,
111 hidden_size,
112 ffn_hidden_size,
113 num_heads,
114 seq_length,
115 attention_dropout_rate=0.1,
116 hidden_dropout_rate=0.1,
117 post_layernorm_residual=False,
118 param_init_type=mstype.float32,
119 hidden_act="fast_gelu",
120 use_past=False,
121 parallel_config=None,
122 softmax_compute_type=mstype.float32,
123 ):
124 super(QueryLayer, self).__init__(
125 batch_size=batch_size,
126 hidden_size=hidden_size,
127 ffn_hidden_size=ffn_hidden_size,
128 num_heads=num_heads,
129 seq_length=seq_length,
130 attention_dropout_rate=attention_dropout_rate,
131 hidden_dropout_rate=hidden_dropout_rate,
132 post_layernorm_residual=post_layernorm_residual,
133 param_init_type=param_init_type,
134 hidden_act=hidden_act,
135 use_past=use_past,
136 parallel_config=parallel_config.dp_mp_config,
137 softmax_compute_type=softmax_compute_type,
138 )
139
140 def construct(
141 self,
142 x,
143 query_vector,
144 input_mask,
145 init_reset=True,
146 batch_valid_length=None,
147 ):
148 r"""
149 The forward process of the block.
150 """
151 # [bs * seq_length, embedding_size]
152 input_x = self.layernorm1(x)
153 input_x = F.cast(input_x, self.dtype)
154
155 # indicate whether reset saved states
156 key_reset = None
157 value_reset = None
158
159 if self.use_past:
160 # reset states, init_reset True for reuse and False for reset
161 key_reset = self.assign(
162 self.key_past,

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected