code: def get_hparams(self, model_hparams=None):
      
      if self._hparams is not None:
        return self._hparams
  
      if model_hparams is None:
        model_hparams = default_model_hparams()
  
      if self._encoders is None:
        data_dir = (model_hparams and hasattr(model_hparams, "data_dir") and
                    model_hparams.data_dir) or None
        self.get_feature_encoders(data_dir)
  
      hp = _default_hparams()
      ret = self.hparams(hp, model_hparams)
      if ret is not None:
        raise ValueError("The Problem subclass hparams function should mutate "
                         "the defaults passed in and return None.")
  
      hp.add_hparam("vocabulary", self._encoders)
      hp.add_hparam("was_reversed", self._was_reversed)
      hp.add_hparam("was_copy", self._was_copy)
  
      if self._was_reversed:
        _reverse_problem_hparams(hp)
      if self._was_copy:
        _copy_problem_hparams(hp)
  
      self._hparams = hp
      return self._hparams
docs: Returns problem_hparams.