code: def test_hourglass_lm_autoregressive_property(self):
      d_model = 8
      vocab_size = 26
  
      model_single_stage = hourglass.HourglassLM(
          vocab_size,
          hierarchy="2@4",
          vanilla_layers=(1, 1),
          d_model=d_model,
          d_ff=d_model,
          n_heads=2,
      )
  
      model_multi_stage = hourglass.HourglassLM(
          vocab_size,
          hierarchy="2@3 2@6 2@3",
          vanilla_layers=(1, 1),
          d_model=d_model,
          d_ff=d_model,
          n_heads=2,
      )
  
      input_shape = (1, 12)
      self._test_autoregressive_property(
          model_single_stage, input_shape, output_vocab_size=vocab_size
      )
      self._test_autoregressive_property(
          model_multi_stage, input_shape, output_vocab_size=vocab_size
      )
  
file_path: trax/trax/models/research/hourglass_test.py
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import gin
  import jax
  import numpy
  from trax import fastmath
  from trax import layers
  from trax import shapes
  import trax.layers.research.resampling
  import trax.models.research.hourglass
label_desc: Use image node_id 5 for calling the HourglassTest obj's underlying member method code with example usage: obj.test_hourglass_lm_autoregressive_property() without return types