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
-
- 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
==INT
e -
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
==STRING
e -
feature.bool_domain
é especificado e - pelo menos um valor no
rank_histogram
* não éfeature.bool_domain.true_value
oufeature.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
==FLOAT
e -
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
==INT
ouFLOAT
,-
feature.bool_domain
é especificado e -
feature.bool_domain.true_value
oufeature.bool_domain.false_value
é especificado ou
-
- se
features.type
==STRING
,-
feature.bool_domain
é especificado e -
feature.bool_domain.true_value
efeature.bool_domain.false_value
nã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_domain
efeature.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.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
-
- 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_fraction
ou -
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.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
-
- Se
- Campos de esquema:
FEATURE_TYPE_NOT_PRESENT
- Campos de esquema:
-
feature.in_environment
oufeature.not_in_environment
ouschema.default_environment
-
feature.lifecycle_stage
-
feature.presence.min_count
oufeature.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 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_constraints
especificado, mas nenhumfeatures.string_stats.unique
presente (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.max
oufeatures.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
ouSTRING
,- 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.min
oufeatures.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
ouSTRING
,- 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
==BYTES
ouSTRING
e -
features.string_stats.rank_histogram
tem 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/-inf
ou -
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
==BYTES
ouSTRING
,- 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
==BYTES
ouSTRING
e -
features.string_stats.rank_histogram
tem 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
==BYTES
ouSTRING
,- 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_histogram
para 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_environment
oufeature.not_in_environment
ouschema.default_environment
-
feature.lifecycle_stage
-
feature.presence.min_count
oufeature.presence.min_fraction
-
- Condição de Detecção:
-
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
ouDEPRECATED
e -
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.threshold
oufeature.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_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.
- 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.histograms
do 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.threshold
oufeature.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.histograms
efeatures.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_stats
com "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_stats
com "missing_index" como nome e - A estatística customizada
missing_index
conté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_stats
com "min_length_diff" ou "max_length_diff" como nome - A estatística personalizada
min_length_diff
oumax_length_diff
conté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
,DEBUG
ouDEPRECATED
, e -
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
ouDEPRECATED
, 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_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
-
- 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
,DEBUG
ouDEPRECATED
e- se
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
ouDEPRECATED
,-
weighted_feature.name
==feature.name
; ou
-
- se
sparse_feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
ouDEPRECATED
,-
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_stats
com "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_stats
com "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_stats
com "min_weighted_length_diff" ou "max_weight_length_diff" como nome e - estatística personalizada
min_weight_length_diff
oumax_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_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 apresence_and_valency_stats
do 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_info
não correspondefeature.type
(por exemplo,int_domain
é especificado, mastype
do recurso éFLOAT
)
-
- Se
- Campos de esquema:
FEATURE_MISSING_NAME
- Campos de esquema:
-
feature.name
-
- Condição de Detecção:
-
feature.name
não foi especificado
-
- Campos de esquema:
FEATURE_MISSING_TYPE
- Campos de esquema:
-
feature.type
-
- Condição de Detecção:
-
feature.type
nã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.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 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_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
efeature.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
- 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.type
nã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_stage
não éDERIVED
ouDISABLED
efeatures.validation_derived_source
está 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_source
está presente para um recurso, mas o correspondentefeature.validation_derived_source
nã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.