code: def eval_autoregressive(self, features=None, decode_length=50):
      
      results = self._slow_greedy_infer(features, decode_length=decode_length)
      return results["logits"], results["losses"]
docs: Autoregressive eval.
  
      Quadratic time in decode_length.
  
      Args:
        features: an map of string to `Tensor`
        decode_length: an integer.  How many additional timesteps to decode.
  
      Returns:
        logits: `Tensor`
        losses: a dictionary: {loss-name (string): floating point `Scalar`}.
            Contains a single key "training".