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==INTe -
features.num_stats.max> 1
-
- Campos de esquema:
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==INTe -
feature.bool_domainé especificado e -
features.num_stats.min< 0
-
- Campos de esquema:
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==STRINGe -
feature.bool_domainé especificado e - pelo menos um valor no
rank_histogram* não éfeature.bool_domain.true_valueoufeature.bool_domain.false_value
-
- Campos de esquema:
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==FLOATe -
feature.bool_domainé especificado e- (
features.num_stats.min!= 0 oufeatures.num_stats.min!= 1) ou - (
features.num_stats.max!= 0 oufeatures.num_stats.max!= 1) ou -
features.num_stats.histograms.num_nan> 0 ou - (
features.num_stats.histograms.buckets.low_value!= 0 oufeatures.num_stats.histograms.buckets.high_value!= 1) efeatures.num_stats.histograms.buckets.sample_count> 0
- (
-
- Campos de esquema:
BOOL_TYPE_INVALID_CONFIG- Campos de esquema:
-
feature.bool_domain
-
- Campos de estatísticas:
-
features.type
-
- Condição de Detecção:
- Se
features.type==INTouFLOAT,-
feature.bool_domainé especificado e -
feature.bool_domain.true_valueoufeature.bool_domain.false_valueé especificado ou
-
- se
features.type==STRING,-
feature.bool_domainé especificado e -
feature.bool_domain.true_valueefeature.bool_domain.false_valuenão são especificados
-
- Se
- Campos de esquema:
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
-
- Campos de estatísticas:
ENUM_TYPE_UNEXPECTED_STRING_VALUES- Campos de esquema:
-
string_domainefeature.domain; oufeature.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
- Ou (número de valores no
- Campos de esquema:
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.maxfor especificado-
features.common_stats.max_num_values>feature.value_count.max; ou
-
- se
feature.value_countsfor especificado-
feature.value_counts.value_count.max<features.common_stats.presence_and_valency_stats.max_num_valuesem um determinado nível de aninhamento
-
- Se
- Campos de esquema:
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_fractionou -
feature.presence.min_fraction== 1.0 ecommon_stats.num_missing!= 0
-
- Campos de esquema:
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
-
-
- Campos de esquema:
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.minfor especificado-
features.common_stats.min_num_values<feature.value_count.min; ou
-
- se
feature.value_countsfor especificado-
features.common_stats.presence_and_valency_stats.min_num_values<feature.value_counts.value_count.minem um determinado nível de aninhamento
-
- Se
- Campos de esquema:
FEATURE_TYPE_NOT_PRESENT- Campos de esquema:
-
feature.in_environmentoufeature.not_in_environmentouschema.default_environment -
feature.lifecycle_stage -
feature.presence.min_countoufeature.presence.min_fraction
-
- Campos de estatísticas:
-
features.common_stats.num_non_missing*
-
- Condição de Detecção:
-
feature.lifecycle_stagenão em [PLANNED,ALPHA,DEBUG,DEPRECATED] e -
common_stats.num_non_missing* == 0 e - (
feature.presence.min_count> 0 oufeature.presence.min_fraction> 0) e-
feature.in_environment== ambiente atual ou -
feature.not_in_environment!= ambiente atual ou -
schema.default_environment!= ambiente atual
-
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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_constraintsespecificado, mas nenhumfeatures.string_stats.uniquepresente (como é o caso em que o recurso não é uma string ou categórico)
-
- Campos de esquema:
FLOAT_TYPE_BIG_FLOAT- Campos de esquema:
-
feature.float_domain.max
-
- Campos de estatísticas:
-
features.type -
features.num_stats.maxoufeatures.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==BYTESouSTRING,- valor máximo em
features.string_stats.rank_histogram(quando convertido em float) >feature.float_domain.max
- valor máximo em
- Se
- Campos de esquema:
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.minoufeatures.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==BYTESouSTRING,- valor mínimo em
features.string_stats.rank_histogram(quando convertido para float) <feature.float_domain.min
- valor mínimo em
- Se
- Campos de esquema:
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==BYTESouSTRINGe -
features.string_stats.rank_histogramtem pelo menos um valor que não pode ser convertido em float
-
- Campos de esquema:
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
-
- Campos de esquema:
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/-infou -
features.num_stats.max==inf/-inf
-
-
- Campos de esquema:
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==BYTESouSTRING,- valor máximo em
features.string_stats.rank_histogram(quando convertido para int) >feature.int_domain.max
- valor máximo em
- Se
- Campos de esquema:
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==BYTESouSTRINGe -
features.string_stats.rank_histogramtem pelo menos um valor que não pode ser convertido em um int
-
- Campos de esquema:
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==BYTESouSTRING,- valor mínimo em
features.string_stats.rank_histogram(quando convertido para int) <feature.int_domain.min
- valor mínimo em
- Se
- Campos de esquema:
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_histogrampara custom_stats com o nomeimage_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.
- A fração de valores que são tipos de imagem do Tensorflow com suporte para todos os tipos de imagem é menor que
- Campos de esquema:
SCHEMA_MISSING_COLUMN- Campos de esquema:
-
feature.in_environmentoufeature.not_in_environmentouschema.default_environment -
feature.lifecycle_stage -
feature.presence.min_countoufeature.presence.min_fraction
-
- Condição de Detecção:
-
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGouDEPRECATEDe -
feature.presence.min_count> 0 oufeature.presence.min_fraction> 0 e -
feature.in_environment== ambiente atual oufeature.not_in_environment!= ambiente atual ouschema.default_environment!= ambiente atual e - nenhum recurso com o nome/caminho especificado foi encontrado no protocolo de estatísticas
-
- Campos de esquema:
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
- Condição de Detecção:
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
- Campos de esquema:
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.thresholdoufeature.drift_comparator.infinity_norm.threshold
- Norma L-infinita do vetor que representa a diferença entre as contagens normalizadas de
- Campos de esquema:
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_histogramnas 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.
- A diferença de contagem absoluta normalizada de contagens de valor de
- Campos de esquema:
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.histogramsdo tipoSTANDARD -
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.thresholdoufeature.drift_comparator.jensen_shannon_divergence.threshold. A divergência aproximada de Jensen-Shannon é calculada com base nas contagens de amostras normalizadas no histograma padrãofeatures.num_stats.histogramsefeatures.string_stats.rank_histogram*.
- 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) >
- Campos de esquema:
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_statscom "missing_value" como nome e - estatística personalizada
missing_value!= 0
-
- Campos de esquema:
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_statscom "missing_index" como nome e - A estatística customizada
missing_indexcontém qualquer valor != 0
-
- Campos de esquema:
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_statscom "min_length_diff" ou "max_length_diff" como nome - A estatística personalizada
min_length_diffoumax_length_diffcontém qualquer valor != 0
-
- Campos de esquema:
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,DEBUGouDEPRECATED, e -
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGouDEPRECATED, e -
sparse_feature.name==feature.name
-
- Campos de esquema:
SEMANTIC_DOMAIN_UPDATE- Campos de esquema:
-
feature.domain_info
-
- Campos de estatísticas:
-
features.custom_stats
-
- Condição de Detecção:
-
features.custom_statscom "domain_info" como nome e -
feature.domain_infoainda não está definido no esquema e - há uma única estatística personalizada
domain_infopara o recurso
-
- Campos de esquema:
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 anterioresnum_examples* < comparadormin_fraction_threshold
-
- Campos de esquema:
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 anterioresnum_examples* > comparadormax_fraction_threshold
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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,DEBUGouDEPRECATEDe- se
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGouDEPRECATED,-
weighted_feature.name==feature.name; ou
-
- se
sparse_feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGouDEPRECATED,-
weighted_feature.name==sparse_feature.name
-
- se
-
- Campos de esquema:
WEIGHTED_FEATURE_MISSING_VALUE- Campos de esquema:
-
weighted_feature.feature
-
- Campos de estatísticas:
-
features.custom_stats
-
- Condição de Detecção:
-
features.custom_statscom "missing_value" como nome e - estatística personalizada
missing_value!= 0
-
- Campos de esquema:
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_statscom "missing_weight" como nome e - estatística personalizada
missing_weight!= 0
-
- Campos de esquema:
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_statscom "min_weighted_length_diff" ou "max_weight_length_diff" como nome e - estatística personalizada
min_weight_length_diffoumax_weight_length_diff!= 0
-
- Campos de esquema:
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á umpresence_and_valency_statsrepetido do recurso (que indica um nível de aninhamento maior que um) e -
feature.value_countsé especificado e o número de vezes que apresence_and_valency_statsdo recurso é repetido não corresponde ao número de vezesvalue_counté repetido emfeature.value_counts
-
- Campos de esquema:
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_infonão correspondefeature.type(por exemplo,int_domainé especificado, mastypedo recurso éFLOAT)
-
- Se
- Campos de esquema:
FEATURE_MISSING_NAME- Campos de esquema:
-
feature.name
-
- Condição de Detecção:
-
feature.namenão foi especificado
-
- Campos de esquema:
FEATURE_MISSING_TYPE- Campos de esquema:
-
feature.type
-
- Condição de Detecção:
-
feature.typenão foi especificado
-
- Campos de esquema:
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.maxou - um domínio bool, int, float, struct ou semântico é especificado para um recurso e
feature.distribution_constraintstambém é especificado para esse recurso ou -
feature.distribution_constraintsé especificado para um recurso, mas nem um domínio de nível de esquema nemfeature.string_domainé especificado para esse recurso
-
- Campos de esquema:
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_infodesconhecido 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_valueefeature.bool_domain.false_valueforem especificados,-
feature.bool_domain.true_value==feature.bool_domain.false_valueou
-
- se
feature.string_domainfor especificado,- tem
feature.string_domain.valuesduplicados ou -
feature.string_domainexcede o tamanho máximo
- tem
- O tipo de
- Campos de esquema:
UNEXPECTED_DATA_TYPE- Campos de esquema:
-
feature.type
-
- Campos de estatísticas:
-
features.type
-
- Condição de Detecção:
-
features.typenão é do tipo especificado emfeature.type
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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))
- o recurso pode estar faltando (
-
- Campos de esquema:
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_stagenão éDERIVEDouDISABLEDefeatures.validation_derived_sourceestá presente, indicando que este é um recurso derivado.
-
- Campos de esquema:
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_sourceestá presente para um recurso, mas o correspondentefeature.validation_derived_sourcenão está.
-
- Campos de esquema:
* Se uma estatística ponderada estiver disponível para este campo, ela será usada no lugar da estatística não ponderada.