MCPcopy Create free account
hub / github.com/pytorch/pytorch / model_build_fun

Method model_build_fun

caffe2/python/models/seq2seq/train.py:198–297  ·  view source on GitHub ↗
(self, model, forward_only=False, loss_scale=None)

Source from the content-addressed store, hash-verified

196 model.params.append(self.decoder_embeddings)
197
198 def model_build_fun(self, model, forward_only=False, loss_scale=None):
199 encoder_inputs = model.net.AddExternalInput(
200 workspace.GetNameScope() + 'encoder_inputs',
201 )
202 encoder_lengths = model.net.AddExternalInput(
203 workspace.GetNameScope() + 'encoder_lengths',
204 )
205 decoder_inputs = model.net.AddExternalInput(
206 workspace.GetNameScope() + 'decoder_inputs',
207 )
208 decoder_lengths = model.net.AddExternalInput(
209 workspace.GetNameScope() + 'decoder_lengths',
210 )
211 targets = model.net.AddExternalInput(
212 workspace.GetNameScope() + 'targets',
213 )
214 target_weights = model.net.AddExternalInput(
215 workspace.GetNameScope() + 'target_weights',
216 )
217 attention_type = self.model_params['attention']
218 assert attention_type in ['none', 'regular', 'dot']
219
220 (
221 encoder_outputs,
222 weighted_encoder_outputs,
223 final_encoder_hidden_states,
224 final_encoder_cell_states,
225 encoder_units_per_layer,
226 ) = seq2seq_util.build_embedding_encoder(
227 model=model,
228 encoder_params=self.encoder_params,
229 num_decoder_layers=len(self.model_params['decoder_layer_configs']),
230 inputs=encoder_inputs,
231 input_lengths=encoder_lengths,
232 vocab_size=self.source_vocab_size,
233 embeddings=self.encoder_embeddings,
234 embedding_size=self.model_params['encoder_embedding_size'],
235 use_attention=(attention_type != 'none'),
236 num_gpus=self.num_gpus,
237 )
238
239 (
240 decoder_outputs,
241 decoder_output_size,
242 ) = seq2seq_util.build_embedding_decoder(
243 model,
244 decoder_layer_configs=self.model_params['decoder_layer_configs'],
245 inputs=decoder_inputs,
246 input_lengths=decoder_lengths,
247 encoder_lengths=encoder_lengths,
248 encoder_outputs=encoder_outputs,
249 weighted_encoder_outputs=weighted_encoder_outputs,
250 final_encoder_hidden_states=final_encoder_hidden_states,
251 final_encoder_cell_states=final_encoder_cell_states,
252 encoder_units_per_layer=encoder_units_per_layer,
253 vocab_size=self.target_vocab_size,
254 embeddings=self.decoder_embeddings,
255 embedding_size=self.model_params['decoder_embedding_size'],

Callers 2

_build_modelMethod · 0.95

Calls 2

AddExternalInputMethod · 0.80
GetNameScopeMethod · 0.80

Tested by

no test coverage detected