code: def test_terraformer_doubling(self):
      vocab_size = 2
      max_len = 2
  
      model = terraformer.ConfigurableTerraformer(
          vocab_size,
          d_model=8,
          d_ff=16,
          n_encoder_layers=1,
          n_decoder_layers=6,
          n_heads=2,
          dropout=0.05,
          max_len=max_len,
          pos_type=None,
          half_before_layer=2,
          double_after_layer=2,
          encoder_attention_type=tl.Attention,
          encoder_decoder_attention_type=tl.CausalAttention,
          mode="train",
      )
  
      x = [
          np.ones((1, max_len)).astype(np.int32),
          np.ones((1, max_len)).astype(np.int32),
      ]
      model.init(shapes.signature(x))
  
      logits, dec_toks = model(x)
      del dec_toks
  
      self.assertEqual(logits.shape, (1, max_len, vocab_size))
  
imports: import functools
  from absl.testing import absltest
  from absl.testing import parameterized
  import gin
  import numpy
  from trax import fastmath
  from trax import layers
  from trax import shapes
  from trax.layers import test_utils
  from trax.models.research import terraformer
label_desc: Use image node_id 7 for calling the TerraformerTest obj's underlying member method code with example usage: obj.test_terraformer_doubling() without return types