(self, features, labels,
                                          is_export_mode)
Validates that the features and labels for the model function are valid.

    A valid features/labels object is the one with:
    - Type: A tensor or any nested structure of tensors supported by TF nest,
        namely nested dictionary, tuple, namedtuple, or sequence of tensors.
    - Static shape if is_export_mode is False.

    Args:
      features: the features that would be input to the model function.
      labels: the labels that would be input to the model function.
      is_export_mode: boolean value specifying if in export mode.

    Raises:
      TypeError: If features/labels are not of the correct type.
      ValueError: If features/labels have dynamic shape.
Validates that the features and labels for the model function are valid.
Validates that the features and labels for the model function are valid .
def _validate_model_features_and_labels(self, features, labels,
                                          is_export_mode):
    """Validates that the features and labels for the model function are valid.

    A valid features/labels object is the one with:
    - Type: A tensor or any nested structure of tensors supported by TF nest,
        namely nested dictionary, tuple, namedtuple, or sequence of tensors.
    - Static shape if is_export_mode is False.

    Args:
      features: the features that would be input to the model function.
      labels: the labels that would be input to the model function.
      is_export_mode: boolean value specifying if in export mode.

    Raises:
      TypeError: If features/labels are not of the correct type.
      ValueError: If features/labels have dynamic shape.
    """

    def validate(obj, obj_name):
      """Helper validate function."""
      if is_export_mode or self._ctx.is_running_on_cpu(is_export_mode):
        return
      if isinstance(obj, ops.Tensor):
        if not obj.get_shape().is_fully_defined():
          raise ValueError(
              'The {} to the model returned by input_fn must have static shape.'
              ' Tensor: {}'.format(obj_name, obj))
      else:
        for tensor in data_nest.flatten(obj):
          if not tensor.get_shape().is_fully_defined():
            raise ValueError(
                ('The {} to the model returned by input_fn must have static '
                 'shape. Tensor: {}').format(obj_name, tensor))

    validate(features, 'features')
    if labels is not None:
      validate(labels, 'labels')
def _validate_model_features_and_labels ( self , features , labels , is_export_mode ) : def validate ( obj , obj_name ) : """Helper validate function.""" if is_export_mode or self . _ctx . is_running_on_cpu ( is_export_mode ) : return if isinstance ( obj , ops . Tensor ) : if not obj . get_shape ( ) . is_fully_defined ( ) : raise ValueError ( 'The {} to the model returned by input_fn must have static shape.' ' Tensor: {}' . format ( obj_name , obj ) ) else : for tensor in data_nest . flatten ( obj ) : if not tensor . get_shape ( ) . is_fully_defined ( ) : raise ValueError ( ( 'The {} to the model returned by input_fn must have static ' 'shape. Tensor: {}' ) . format ( obj_name , tensor ) ) validate ( features , 'features' ) if labels is not None : validate ( labels , 'labels' )