(encoder_function, inputs, target_space, hparams,
                            baseline, attention_weights=None, features=None,
                            losses=None, prepare_encoder_fn=None, **kwargs)
return encoder_output, encoder_decoder_attention_bias
Encoding for performance autoencoder, which mean-aggregates across time.

  Args:
    encoder_function: the encoder function
    inputs: Transformer inputs [batch_size, input_length, 1, hidden_dim] which
      will be flattened along the two spatial dimensions.
    target_space: scalar, target space ID.
    hparams: hyperparameters for model.
    baseline: if True, does not mean-aggregate the encoder output.
    attention_weights: weight to store attention to.
    features: optionally pass the entire features dictionary as well. This is
      needed now for "packed" datasets.
    losses: optional list onto which to append extra training losses
    prepare_encoder_fn: optional, alternative to transformer_prepare_encoder.
    **kwargs: additional arguments to pass to encoder_function

  Returns:
    Tuple of:
        encoder_output: Encoder representation.
            [batch_size, input_length, hidden_dim]
        encoder_decoder_attention_bias: Bias and mask weights for
            encoder-decoder attention. [batch_size, input_length]
Encoding for performance autoencoder, which mean-aggregates across time.
Encoding for performance autoencoder which mean - aggregates across time .
def perf_transformer_encode(encoder_function, inputs, target_space, hparams,
                            baseline, attention_weights=None, features=None,
                            losses=None, prepare_encoder_fn=None, **kwargs):
  """Encoding for performance autoencoder, which mean-aggregates across time.

  Args:
    encoder_function: the encoder function
    inputs: Transformer inputs [batch_size, input_length, 1, hidden_dim] which
      will be flattened along the two spatial dimensions.
    target_space: scalar, target space ID.
    hparams: hyperparameters for model.
    baseline: if True, does not mean-aggregate the encoder output.
    attention_weights: weight to store attention to.
    features: optionally pass the entire features dictionary as well. This is
      needed now for "packed" datasets.
    losses: optional list onto which to append extra training losses
    prepare_encoder_fn: optional, alternative to transformer_prepare_encoder.
    **kwargs: additional arguments to pass to encoder_function

  Returns:
    Tuple of:
        encoder_output: Encoder representation.
            [batch_size, input_length, hidden_dim]
        encoder_decoder_attention_bias: Bias and mask weights for
            encoder-decoder attention. [batch_size, input_length]
  """
  inputs = common_layers.flatten4d3d(inputs)

  if not prepare_encoder_fn:
    prepare_encoder_fn = transformer_prepare_encoder
  encoder_input, self_attention_bias, encoder_decoder_attention_bias = (
      prepare_encoder_fn(
          inputs, target_space, hparams, features=features,
          reuse_target_embedding=tf.AUTO_REUSE))

  mlperf_log.transformer_print(
      key=mlperf_log.MODEL_HP_LAYER_POSTPROCESS_DROPOUT,
      value=hparams.layer_prepostprocess_dropout,
      hparams=hparams)

  encoder_input = tf.nn.dropout(encoder_input,
                                1.0 - hparams.layer_prepostprocess_dropout)

  attn_bias_for_padding = None
  # Otherwise the encoder will just use encoder_self_attention_bias.
  if hparams.unidirectional_encoder:
    attn_bias_for_padding = encoder_decoder_attention_bias

  encoder_output = encoder_function(
      encoder_input,
      self_attention_bias,
      hparams,
      name="encoder",
      nonpadding=features_to_nonpadding(features, "inputs"),
      save_weights_to=attention_weights,
      make_image_summary=not common_layers.is_xla_compiled(),
      losses=losses,
      attn_bias_for_padding=attn_bias_for_padding,
      **kwargs)

  if not baseline:
    encoder_output = tf.math.reduce_mean(
        encoder_output, axis=1, keep_dims=True)
    encoder_decoder_attention_bias = tf.math.reduce_mean(
        encoder_decoder_attention_bias, axis=-1, keep_dims=True)

  return encoder_output, encoder_decoder_attention_bias
def perf_transformer_encode ( encoder_function , inputs , target_space , hparams , baseline , attention_weights = None , features = None , losses = None , prepare_encoder_fn = None , * * kwargs ) : inputs = common_layers . flatten4d3d ( inputs ) if not prepare_encoder_fn : prepare_encoder_fn = transformer_prepare_encoder encoder_input , self_attention_bias , encoder_decoder_attention_bias = ( prepare_encoder_fn ( inputs , target_space , hparams , features = features , reuse_target_embedding = tf . AUTO_REUSE ) ) mlperf_log . transformer_print ( key = mlperf_log . MODEL_HP_LAYER_POSTPROCESS_DROPOUT , value = hparams . layer_prepostprocess_dropout , hparams = hparams ) encoder_input = tf . nn . dropout ( encoder_input , 1.0 - hparams . layer_prepostprocess_dropout ) attn_bias_for_padding = None # Otherwise the encoder will just use encoder_self_attention_bias. if hparams . unidirectional_encoder : attn_bias_for_padding = encoder_decoder_attention_bias encoder_output = encoder_function ( encoder_input , self_attention_bias , hparams , name = "encoder" , nonpadding = features_to_nonpadding ( features , "inputs" ) , save_weights_to = attention_weights , make_image_summary = not common_layers . is_xla_compiled ( ) , losses = losses , attn_bias_for_padding = attn_bias_for_padding , * * kwargs ) if not baseline : encoder_output = tf . math . reduce_mean ( encoder_output , axis = 1 , keep_dims = True ) encoder_decoder_attention_bias = tf . math . reduce_mean ( encoder_decoder_attention_bias , axis = - 1 , keep_dims = True ) return encoder_output , encoder_decoder_attention_bias