code: def iterative_encoder_decoder(
      encoder_input,
      encoder_self_attention_bias,
      encoder_decoder_attention_bias,
      query,
      hparams,
  ):
      """Iterative encoder decoder."""
      for _ in range(hparams.num_rec_steps):
          with tf.variable_scope("step", reuse=tf.AUTO_REUSE):
              encoder_output = image_question_encoder(
                  encoder_input,
                  encoder_self_attention_bias,
                  hparams,
                  query,
              )
  
              decoder_output = decoder(
                  query,
                  encoder_output,
                  None,
                  encoder_decoder_attention_bias,
                  hparams,
              )
  
              encoder_input = encoder_output
              query = decoder_output
  
              return decoder_output
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from six.moves import range
  from tensor2tensor.layers import common_attention
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import vqa_layers
  from tensor2tensor.models.research import vqa_attention
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
  from tensorflow.contrib.layers.python.layers import utils
label_desc: Use image node_id 9 for calling a global function with example usage: iterative_encoder_decoder(encoder_input, encoder__attention_bias, encoder_decoder_attention_bias, query, hparams) and returns: decoder_output