message: tpu_estimator gives us unstable input shapes when inputs are labeled with names. Sorting the input keys solves the issue.
diff: @@ -784,7 +784,8 @@ class _InputPipeline(object):
  def _extract_key_names(tensor_or_dict):
  if tensor_or_dict is None:
  return []
  - return tensor_or_dict.keys() if isinstance(tensor_or_dict, dict) else []
  + return sorted(tensor_or_dict.keys()) if isinstance(
  + tensor_or_dict, dict) else []
  # Extract structure.
  has_labels = labels is not None
  