Referência de anomalias de validação de dados do TensorFlow

O TFDV verifica anomalias comparando um esquema e proto(s) estatístico(s). O gráfico a seguir lista os tipos de anomalia que o TFDV pode detectar, os campos de esquema e estatísticas usados ​​para detectar cada tipo de anomalia e as condições sob as quais cada tipo de anomalia é detectado.

  • BOOL_TYPE_BIG_INT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estatísticas:
      • features.num_stats.max
      • features.type
    • Condição de Detecção:
      • feature.bool_domain é especificado e
      • features.type == INT e
      • features.num_stats.max > 1
  • BOOL_TYPE_BYTES_NOT_INT

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_BYTES_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_FLOAT_NOT_INT

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_FLOAT_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_INT_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_SMALL_INT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estatísticas:
      • features.num_stats.min
      • features.type
    • Condição de Detecção:
      • features.type == INT e
      • feature.bool_domain é especificado e
      • features.num_stats.min < 0
  • BOOL_TYPE_STRING_NOT_INT

    • Tipo de anomalia não detectado no TFDV
  • BOOL_TYPE_UNEXPECTED_STRING

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estatísticas:
      • features.string_stats.rank_histogram *
    • Condição de Detecção:
      • features.type == STRING e
      • feature.bool_domain é especificado e
      • pelo menos um valor no rank_histogram * não é feature.bool_domain.true_value ou feature.bool_domain.false_value
  • BOOL_TYPE_UNEXPECTED_FLOAT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estatísticas:
      • features.num_stats.min
      • features.num_stats.max
      • features.num_stats.histograms.num_nan
      • features.num_stats.histograms.buckets.low_value
      • features.num_stats.histograms.buckets.high_value
      • features.type
    • Condição de Detecção:
      • features.type == FLOAT e
      • feature.bool_domain é especificado e
        • ( features.num_stats.min != 0 ou features.num_stats.min != 1) ou
        • ( features.num_stats.max != 0 ou features.num_stats.max != 1) ou
        • features.num_stats.histograms.num_nan > 0 ou
        • ( features.num_stats.histograms.buckets.low_value != 0 ou features.num_stats.histograms.buckets.high_value != 1) e features.num_stats.histograms.buckets.sample_count > 0
  • BOOL_TYPE_INVALID_CONFIG

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estatísticas:
      • features.type
    • Condição de Detecção:
      • Se features.type == INT ou FLOAT ,
        • feature.bool_domain é especificado e
        • feature.bool_domain.true_value ou feature.bool_domain.false_value é especificado ou
      • se features.type == STRING ,
        • feature.bool_domain é especificado e
        • feature.bool_domain.true_value e feature.bool_domain.false_value não são especificados
  • ENUM_TYPE_BYTES_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • ENUM_TYPE_FLOAT_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • ENUM_TYPE_INT_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • ENUM_TYPE_INVALID_UTF8

    • Campos de estatísticas:
      • features.string_stats.invalid_utf8_count
    • Condição de Detecção:
      • invalid_utf8_count > 0
  • ENUM_TYPE_UNEXPECTED_STRING_VALUES

    • Campos de esquema:
      • string_domain e feature.domain ; ou feature.string_domain
      • feature.distribution_constraints.min_domain_mass
    • Campos de estatísticas:
      • features.string_stats.rank_histogram *
    • Condição de Detecção:
      • Ou (número de valores no rank_histogram * que não estão no domínio / número total de valores) > (1 - feature.distribution_constraints.min_domain_mass ) ou
      • feature.distribution_constraints.min_domain_mass == 1.0 e há valores no histograma que não estão no domínio
  • FEATURE_TYPE_HIGH_NUMBER_VALUES

    • Campos de esquema:
      • feature.value_count.max
      • feature.value_counts.value_count.max
    • Campos de estatísticas:
      • features.common_stats.max_num_values
      • features.common_stats.presence_and_valency_stats.max_num_values
    • Condição de Detecção:
      • Se feature.value_count.max for especificado
        • features.common_stats.max_num_values ​​> feature.value_count.max ; ou
      • se feature.value_counts for especificado
        • feature.value_counts.value_count.max < features.common_stats.presence_and_valency_stats.max_num_values ​​em um determinado nível de aninhamento
  • FEATURE_TYPE_LOW_FRACTION_PRESENT

    • Campos de esquema:
      • feature.presence.min_fraction
    • Campos de estatísticas:
      • features.common_stats.num_non_missing *
      • num_examples *
    • Condição de Detecção:
      • feature.presence.min_fraction é especificado e ( features.common_stats.num_non_missing * / num_examples *) < feature.presence.min_fraction ou
      • feature.presence.min_fraction == 1.0 e common_stats.num_missing != 0
  • FEATURE_TYPE_LOW_NUMBER_PRESENT

    • Campos de esquema:
      • feature.presence.min_count
    • Campos de estatísticas:
      • features.common_stats.num_non_missing *
    • Condição de Detecção:
      • feature.presence.min_count é especificado e
        • features.common_stats.num_non_missing * == 0 ou
        • features.common_stats.num_non_missing * < feature.presence.min_count
  • FEATURE_TYPE_LOW_NUMBER_VALUES

    • Campos de esquema:
      • feature.value_count.min
      • feature.value_counts.value_count.min
    • Campos de estatísticas:
      • features.common_stats.min_num_values
      • features.common_stats.presence_and_valency_stats.min_num_values
    • Condição de Detecção:
      • Se feature.value_count.min for especificado
        • features.common_stats.min_num_values ​​< feature.value_count.min ; ou
      • se feature.value_counts for especificado
        • features.common_stats.presence_and_valency_stats.min_num_values ​​< feature.value_counts.value_count.min em um determinado nível de aninhamento
  • FEATURE_TYPE_NOT_PRESENT

    • Campos de esquema:
      • feature.in_environment ou feature.not_in_environment ou schema.default_environment
      • feature.lifecycle_stage
      • feature.presence.min_count ou feature.presence.min_fraction
    • Campos de estatísticas:
      • features.common_stats.num_non_missing *
    • Condição de Detecção:
      • feature.lifecycle_stage não em [ PLANNED , ALPHA , DEBUG , DEPRECATED ] e
      • common_stats.num_non_missing * == 0 e
      • ( feature.presence.min_count > 0 ou feature.presence.min_fraction > 0) e
        • feature.in_environment == ambiente atual ou
        • feature.not_in_environment != ambiente atual ou
        • schema.default_environment != ambiente atual
  • FEATURE_TYPE_NO_VALUES

    • Tipo de anomalia não detectado no TFDV
  • FEATURE_TYPE_UNEXPECTED_REPEATED

    • Tipo de anomalia não detectado no TFDV
  • FEATURE_TYPE_HIGH_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints.max
    • Campos de estatísticas:
      • features.string_stats.unique
    • Condição de Detecção:
      • features.string_stats.unique > feature.unique_constraints.max
  • FEATURE_TYPE_LOW_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints.min
    • Campos de estatísticas:
      • features.string_stats.unique
    • Condição de Detecção:
      • features.string_stats.unique < feature.unique_constraints.min
  • FEATURE_TYPE_NO_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints
    • Campos de estatísticas:
      • features.string_stats.unique
    • Condição de Detecção:
      • feature.unique_constraints especificado, mas nenhum features.string_stats.unique presente (como é o caso em que o recurso não é uma string ou categórico)
  • FLOAT_TYPE_BIG_FLOAT

    • Campos de esquema:
      • feature.float_domain.max
    • Campos de estatísticas:
      • features.type
      • features.num_stats.max ou features.string_stats.rank_histogram
    • Condição de Detecção:
      • Se features.type == FLOAT ,
        • features.num_stats.max > feature.float_domain.max ; ou
      • se features.type == BYTES ou STRING ,
        • valor máximo em features.string_stats.rank_histogram (quando convertido em float) > feature.float_domain.max
  • FLOAT_TYPE_NOT_FLOAT

    • Tipo de anomalia não detectado no TFDV
  • FLOAT_TYPE_SMALL_FLOAT

    • Campos de esquema:
      • feature.float_domain.min
    • Campos de estatísticas:
      • features.type
      • features.num_stats.min ou features.string_stats.rank_histogram
    • Condição de Detecção:
      • Se features.type == FLOAT ,
        • features.num_stats.min < feature.float_domain.min ; ou
      • se features.type == BYTES ou STRING ,
        • valor mínimo em features.string_stats.rank_histogram (quando convertido para float) < feature.float_domain.min
  • FLOAT_TYPE_STRING_NOT_FLOAT

    • Campos de esquema:
      • feature.float_domain
    • Campos de estatísticas:
      • features.type
      • features.string_stats.rank_histogram
    • Condição de Detecção:
      • features.type == BYTES ou STRING e
      • features.string_stats.rank_histogram tem pelo menos um valor que não pode ser convertido em float
  • FLOAT_TYPE_NON_STRING

    • Tipo de anomalia não detectado no TFDV
  • FLOAT_TYPE_UNKNOWN_TYPE_NUMBER

    • Tipo de anomalia não detectado no TFDV
  • FLOAT_TYPE_HAS_NAN

    • Campos de esquema:
      • feature.float_domain.disallow_nan
    • Campos de estatísticas:
      • features.type
      • features.num_stats.histograms.num_nan
    • Condição de Detecção:
      • float_domain.disallow_nan é verdadeiro e
      • features.num_stats.histograms.num_nan > 0
  • FLOAT_TYPE_HAS_INF

    • Campos de esquema:
      • feature.float_domain.disallow_inf
    • Campos de estatísticas:
      • features.type
      • features.num_stats.min
      • features.num_stats.max
    • Condição de Detecção:
      • features.type == FLOAT
      • float_domain.disallow_inf é verdadeiro e
        • features.num_stats.min == inf/-inf ou
        • features.num_stats.max == inf/-inf
  • INT_TYPE_BIG_INT

    • Campos de esquema:
      • feature.int_domain.max
    • Campos de estatísticas:
      • features.type
      • features.num_stats.max
      • features.string_stats.rank_histogram
    • Condição de Detecção:
      • Se features.type == INT ,
        • features.num_stats.max > feature.int_domain.max ; ou
      • se features.type == BYTES ou STRING ,
        • valor máximo em features.string_stats.rank_histogram (quando convertido para int) > feature.int_domain.max
  • INT_TYPE_INT_EXPECTED

    • Tipo de anomalia não detectado no TFDV
  • INT_TYPE_NOT_INT_STRING

    • Campos de esquema:
      • feature.int_domain
    • Campos de estatísticas:
      • features.type
      • features.string_stats.rank_histogram
    • Condição de Detecção:
      • features.type == BYTES ou STRING e
      • features.string_stats.rank_histogram tem pelo menos um valor que não pode ser convertido em um int
  • INT_TYPE_NOT_STRING

    • Tipo de anomalia não detectado no TFDV
  • INT_TYPE_SMALL_INT

    • Campos de esquema:
      • feature.int_domain.min
    • Campos de estatísticas:
      • features.type
      • features.num_stats.min
      • features.string_stats.rank_histogram
    • Condição de Detecção:
      • Se features.type == INT ,
        • features.num_stats.min < feature.int_domain.min ; ou
      • se features.type == BYTES ou STRING ,
        • valor mínimo em features.string_stats.rank_histogram (quando convertido para int) < feature.int_domain.min
  • INT_TYPE_STRING_EXPECTED

    • Tipo de anomalia não detectado no TFDV
  • INT_TYPE_UNKNOWN_TYPE_NUMBER

    • Tipo de anomalia não detectado no TFDV
  • LOW_SUPPORTED_IMAGE_FRACTION

    • Campos de esquema:
      • feature.image_domain.minimum_supported_image_fraction
    • Campos de estatísticas:
      • features.custom_stats.rank_histogram para custom_stats com o nome image_format_histogram . Observe que as estatísticas do domínio semântico devem ser habilitadas para que o image_format_histogram seja gerado e para que essa validação seja executada. As estatísticas do domínio semântico não são geradas por padrão.
    • Condição de Detecção:
      • A fração de valores que são tipos de imagem do Tensorflow com suporte para todos os tipos de imagem é menor que feature.image_domain.minimum_supported_image_fraction .
  • SCHEMA_MISSING_COLUMN

    • Campos de esquema:
      • feature.in_environment ou feature.not_in_environment ou schema.default_environment
      • feature.lifecycle_stage
      • feature.presence.min_count ou feature.presence.min_fraction
    • Condição de Detecção:
      • feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED e
      • feature.presence.min_count > 0 ou feature.presence.min_fraction > 0 e
      • feature.in_environment == ambiente atual ou feature.not_in_environment != ambiente atual ou schema.default_environment != ambiente atual e
      • nenhum recurso com o nome/caminho especificado foi encontrado no protocolo de estatísticas
  • SCHEMA_NEW_COLUMN

    • Condição de Detecção:
      • há um recurso no proto de estatísticas, mas nenhum recurso com seu nome/caminho no proto do esquema
  • SCHEMA_TRAINING_SERVING_SKEW

    • Tipo de anomalia não detectado no TFDV
  • STRING_TYPE_NOW_FLOAT

    • Tipo de anomalia não detectado no TFDV
  • STRING_TYPE_NOW_INT

    • Tipo de anomalia não detectado no TFDV
  • COMPARATOR_CONTROL_DATA_MISSING

    • Campos de esquema:
      • feature.skew_comparator.infinity_norm.threshold
      • feature.drift_comparator.infinity_norm.threshold
    • Condição de Detecção:
      • o protocolo de estatísticas de controle (ou seja, estatísticas de serviço para desvio ou estatísticas anteriores para desvio) está disponível, mas não contém o recurso especificado
  • COMPARATOR_TREATMENT_DATA_MISSING

    • Tipo de anomalia não detectado no TFDV
  • COMPARATOR_L_INFTY_HIGH

    • Campos de esquema:
      • feature.skew_comparator.infinity_norm.threshold
      • feature.drift_comparator.infinity_norm.threshold
    • Campos de estatísticas:
      • features.string_stats.rank_histogram *
    • Condição de Detecção:
      • Norma L-infinita do vetor que representa a diferença entre as contagens normalizadas de features.string_stats.rank_histogram * nas estatísticas de controle (ou seja, servindo estatísticas para desvio ou estatísticas anteriores para desvio) e as estatísticas de tratamento (ou seja, estatísticas de treinamento para desvio ou estatísticas atuais para desvio) > feature.skew_comparator.infinity_norm.threshold ou feature.drift_comparator.infinity_norm.threshold
  • COMPARATOR_NORMALIZED_ABSOLUTE_DIFFERENCE_HIGH

    • Campos de esquema:
      • feature.skew_comparator.normalized_abs_difference.threshold
      • feature.drift_comparator.normalized_abs_difference.threshold
    • Campos de estatísticas:
      • features.string_stats.rank_histogram
    • Condição de Detecção:
      • A diferença de contagem absoluta normalizada de contagens de valor de features.string_stats.rank_histogram nas estatísticas de controle (ou seja, estatísticas de serviço para desvio ou estatísticas anteriores para desvio) e as estatísticas de tratamento (ou seja, estatísticas de treinamento para desvio ou estatísticas atuais para desvio) excedidas feature.skew_comparator.normalized_abs_difference.threshold ou feature.drift_comparator.normalized_abs_difference.threshold. As diferenças de contagem são normalizadas pela contagem total em ambas as condições.
  • COMPARATOR_JENSEN_SHANNON_DIVERGENCE_HIGH

    • Campos de esquema:
      • feature.skew_comparator.jensen_shannon_divergence.threshold
      • feature.drift_comparator.jensen_shannon_divergence.threshold
    • Campos de estatísticas:
      • features.num_stats.histograms do tipo STANDARD
      • features.string_stats.rank_histogram *
    • Condição de Detecção:
      • Divergência Jensen-Shannon aproximada calculada entre as estatísticas de controle (ou seja, estatísticas de serviço para desvio ou estatísticas anteriores para desvio) e as estatísticas de tratamento (ou seja, estatísticas de treinamento para desvio ou estatísticas atuais para desvio) > feature.skew_comparator.jensen_shannon_divergence.threshold ou feature.drift_comparator.jensen_shannon_divergence.threshold . A divergência aproximada de Jensen-Shannon é calculada com base nas contagens de amostras normalizadas no histograma padrão features.num_stats.histograms e features.string_stats.rank_histogram *.
  • NO_DATA_IN_SPAN

    • Tipo de anomalia não detectado no TFDV
  • SPARSE_FEATURE_MISSING_VALUE

    • Campos de esquema:
      • sparse_feature.value_feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "missing_value" como nome e
      • estatística personalizada missing_value != 0
  • SPARSE_FEATURE_MISSING_INDEX

    • Campos de esquema:
      • sparse_feature.index_feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "missing_index" como nome e
      • A estatística customizada missing_index contém qualquer valor != 0
  • SPARSE_FEATURE_LENGTH_MISMATCH

    • Campos de esquema:
      • sparse_feature.value_feature
      • sparse_feature.index_feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "min_length_diff" ou "max_length_diff" como nome
      • A estatística personalizada min_length_diff ou max_length_diff contém qualquer valor != 0
  • SPARSE_FEATURE_NAME_COLLISION

    • Campos de esquema:
      • sparse_feature.name
      • sparse_feature.lifecycle_stage
      • feature.name
      • feature.lifecycle_stage
    • Condição de Detecção:
      • sparse_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED , e
      • feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED , e
      • sparse_feature.name == feature.name
  • SEMANTIC_DOMAIN_UPDATE

    • Campos de esquema:
      • feature.domain_info
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "domain_info" como nome e
      • feature.domain_info ainda não está definido no esquema e
      • há uma única estatística personalizada domain_info para o recurso
  • COMPARATOR_LOW_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.num_examples_drift_comparator.min_fraction_threshold
      • schema.dataset_constraints.num_examples_version_comparator.min_fraction_threshold
    • Campos de estatísticas:
      • num_examples *
    • Condição de Detecção:
      • num_examples * > 0 e
      • proto de estatísticas anteriores está disponível e
      • num_examples * / estatísticas anteriores num_examples * < comparador min_fraction_threshold
  • COMPARATOR_HIGH_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.num_examples_drift_comparator.max_fraction_threshold
      • schema.dataset_constraints.num_examples_version_comparator.max_fraction_threshold
    • Campos de estatísticas:
      • num_examples *
    • Condição de Detecção:
      • num_examples * > 0 e
      • proto de estatísticas anteriores está disponível e
      • num_examples * / estatísticas anteriores num_examples * > comparador max_fraction_threshold
  • DATASET_LOW_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.min_examples_count
    • Campos de estatísticas:
      • num_examples *
    • Condição de Detecção:
      • num_examples * < dataset_constraints.min_examples_count
  • DATASET_HIGH_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.max_examples_count
    • Campos de estatísticas:
      • num_examples *
    • Condição de Detecção:
      • num_examples * > dataset_constraints.max_examples_count
  • WEIGHTED_FEATURE_NAME_COLLISION

    • Campos de esquema:
      • weighted_feature.name
      • weighted_feature.lifecycle_stage
      • sparse_feature.name
      • sparse_feature.lifecycle_stage
      • feature.name
      • feature.lifecycle_stage
    • Condição de Detecção:
      • weighted_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED e
        • se feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED ,
          • weighted_feature.name == feature.name ; ou
        • se sparse_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG ou DEPRECATED ,
          • weighted_feature.name == sparse_feature.name
  • WEIGHTED_FEATURE_MISSING_VALUE

    • Campos de esquema:
      • weighted_feature.feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "missing_value" como nome e
      • estatística personalizada missing_value != 0
  • WEIGHTED_FEATURE_MISSING_WEIGHT

    • Campos de esquema:
      • weighted_feature.weight_feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "missing_weight" como nome e
      • estatística personalizada missing_weight != 0
  • WEIGHTED_FEATURE_LENGTH_MISMATCH

    • Campos de esquema:
      • weighted_feature.feature
      • weighted_feature.weight_feature
    • Campos de estatísticas:
      • features.custom_stats
    • Condição de Detecção:
      • features.custom_stats com "min_weighted_length_diff" ou "max_weight_length_diff" como nome e
      • estatística personalizada min_weight_length_diff ou max_weight_length_diff != 0
  • VALUE_NESTEDNESS_MISMATCH

    • Campos de esquema:
      • feature.value_count
      • feature.value_counts
    • Campos de estatísticas:
      • features.common_stats.presence_and_valency_stats
    • Condição de Detecção:
      • feature.value_count é especificado e há um presence_and_valency_stats repetido do recurso (que indica um nível de aninhamento maior que um) e
      • feature.value_counts é especificado e o número de vezes que a presence_and_valency_stats do recurso é repetido não corresponde ao número de vezes value_count é repetido em feature.value_counts
  • DOMAIN_INVALID_FOR_TYPE

    • Campos de esquema:
      • feature.type
      • feature.domain_info
    • Campos de estatísticas:
      • features.type
    • Condição de Detecção:
      • Se features.type == BYTES ,
        • feature.domain_info é de um tipo incompatível; ou
      • se features.type != BYTES ,
        • feature.domain_info não corresponde feature.type (por exemplo, int_domain é especificado, mas type do recurso é FLOAT )
  • FEATURE_MISSING_NAME

    • Campos de esquema:
      • feature.name
    • Condição de Detecção:
      • feature.name não foi especificado
  • FEATURE_MISSING_TYPE

    • Campos de esquema:
      • feature.type
    • Condição de Detecção:
      • feature.type não foi especificado
  • INVALID_SCHEMA_SPECIFICATION

    • Campos de esquema:
      • feature.domain_info
      • feature.presence.min_fraction
      • feature.value_count.min
      • feature.value_count.max
      • feature.distribution_constraints
    • Condição de Detecção:
      • feature.presence.min_fraction < 0,0 ou > 1,0, ou
      • feature.value_count.min < 0 ou > feature.value_count.max ou
      • um domínio bool, int, float, struct ou semântico é especificado para um recurso e feature.distribution_constraints também é especificado para esse recurso ou
      • feature.distribution_constraints é especificado para um recurso, mas nem um domínio de nível de esquema nem feature.string_domain é especificado para esse recurso
  • INVALID_DOMAIN_SPECIFICATION

    • Campos de esquema:
      • feature.domain_info
      • feature.bool_domain
      • feature.string_domain
    • Condição de Detecção:
      • O tipo de feature.domain_info desconhecido foi especificado ou
      • feature.domain é especificado, mas não há nenhum domínio correspondente especificado no nível do esquema ou
      • se feature.bool_domain , feature.bool_domain.true_value e feature.bool_domain.false_value forem especificados,
        • feature.bool_domain.true_value == feature.bool_domain.false_value ou
      • se feature.string_domain for especificado,
        • tem feature.string_domain.values ​​duplicados ou
        • feature.string_domain excede o tamanho máximo
  • UNEXPECTED_DATA_TYPE

    • Campos de esquema:
      • feature.type
    • Campos de estatísticas:
      • features.type
    • Condição de Detecção:
      • features.type não é do tipo especificado em feature.type
  • SEQUENCE_VALUE_TOO_FEW_OCCURRENCES

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.min_per_sequence
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.token_statistics.per_sequence_min_frequency
    • Condição de Detecção:
      • min_per_sequence > per_sequence_min_frequency
  • SEQUENCE_VALUE_TOO_MANY_OCCURRENCES

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.max_per_sequence
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.token_statistics.per_sequence_max_frequency
    • Condição de Detecção:
      • max_per_sequence < per_sequence_max_frequency
  • SEQUENCE_VALUE_TOO_SMALL_FRACTION

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.min_fraction_of_sequences
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
    • Condição de Detecção:
      • min_fraction_of_sequences > fraction_of_sequences
  • SEQUENCE_VALUE_TOO_LARGE_FRACTION

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.max_fraction_of_sequences
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
    • Condição de Detecção:
      • max_fraction_of_sequences < fraction_of_sequences
  • FEATURE_COVERAGE_TOO_LOW

    • Campos de esquema:
      • feature.natural_language_domain.coverage.min_coverage
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.feature_coverage
    • Condição de Detecção:
      • feature_coverage < coverage.min_coverage
  • FEATURE_COVERAGE_TOO_SHORT_AVG_TOKEN_LENGTH

    • Campos de esquema:
      • feature.natural_language_domain.coverage.min_avg_token_length
    • Campos de estatísticas:
      • features.custom_stats.nl_statistics.avg_token_length
    • Condição de Detecção:
      • avg_token_length < min_avg_token_length
  • NLP_WRONG_LOCATION

    • Tipo de anomalia não detectado no TFDV
  • EMBEDDING_SHAPE_INVALID

    • Tipo de anomalia não detectado no TFDV
  • MAX_IMAGE_BYTE_SIZE_EXCEEDED

    • Campos de esquema:
      • feature.image_domain.max_image_byte_size
    • Campos de estatísticas:
      • features.bytes_stats.max_num_bytes_int
    • Condição de Detecção:
      • max_num_bytes_int > max_image_byte_size
  • INVALID_FEATURE_SHAPE

    • Campos de esquema:
      • feature.shape
    • Campos de estatísticas:
      • features.common_stats.num_missing
      • features.common_stats.min_num_values
      • features.common_stats.max_num_values
      • features.common_stats.presence_and_valency_stats.num_missing
      • features.common_stats.presence_and_valency_stats.min_num_values
      • features.common_stats.presence_and_valency_stats.max_num_values
      • features.common_stats.weighted_presence_and_valency_stats
    • Condição de Detecção:
      • feature.shape é especificado e
        • o recurso pode estar faltando ( num_missing != 0) em algum nível de aninhamento ou
        • o recurso pode ter um número variável de valores ( min_num_values ​​!= max_num_values ​​) em algum nível de aninhamento ou
        • a forma especificada não é compatível com as estatísticas de contagem de valor do recurso. Por exemplo, a forma [16] é compatível com ( min_num_values ​​== max_num_values ​​== [2, 2, 4] (para um recurso de 3 aninhados))
  • STATS_NOT_AVAILBLE

    • A anomalia ocorre quando as estatísticas necessárias para validar as restrições não estão presentes.
  • DERIVED_FEATURE_BAD_LIFECYCLE

    • Campos de esquema:
      • feature.lifecycle_stage
    • Campos de estatísticas:
      • features.validation_derived_source
    • Condição de Detecção:
      • feature.lifecycle_stage não é DERIVED ou DISABLED e features.validation_derived_source está presente, indicando que este é um recurso derivado.
  • DERIVED_FEATURE_INVALID_SOURCE

    • Campos de esquema:
      • feature.validation_derived_source
    • Campos de estatísticas:
      • features.validation_derived_source
    • Condição de Detecção:
      • features.validation_derived_source está presente para um recurso, mas o correspondente feature.validation_derived_source não está.

* Se uma estatística ponderada estiver disponível para este campo, ela será usada no lugar da estatística não ponderada.