TFDV comprueba si hay anomalías comparando un esquema y prototipos de estadísticas. El siguiente cuadro enumera los tipos de anomalías que TFDV puede detectar, los campos de esquema y estadísticas que se utilizan para detectar cada tipo de anomalía y las condiciones bajo las cuales se detecta cada tipo de anomalía.
BOOL_TYPE_BIG_INT- Campos de esquema:
-
feature.bool_domain
-
- Campos de estadísticas:
-
features.num_stats.max -
features.type
-
- Condición de detección:
- se especifica
feature.bool_domainy -
features.type==INTy -
features.num_stats.max> 1
- se especifica
- Campos de esquema:
BOOL_TYPE_BYTES_NOT_INT- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_BYTES_NOT_STRING- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_FLOAT_NOT_INT- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_FLOAT_NOT_STRING- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_INT_NOT_STRING- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_SMALL_INT- Campos de esquema:
-
feature.bool_domain
-
- Campos de estadísticas:
-
features.num_stats.min -
features.type
-
- Condición de detección:
-
features.type==INTy - se especifica
feature.bool_domainy -
features.num_stats.min< 0
-
- Campos de esquema:
BOOL_TYPE_STRING_NOT_INT- Tipo de anomalía no detectado en TFDV
BOOL_TYPE_UNEXPECTED_STRING- Campos de esquema:
-
feature.bool_domain
-
- Campos de estadísticas:
-
features.string_stats.rank_histogram*
-
- Condición de detección:
-
features.type==STRINGy - se especifica
feature.bool_domainy - al menos un valor en
rank_histogram* no esfeature.bool_domain.true_valueofeature.bool_domain.false_value
-
- Campos de esquema:
BOOL_TYPE_UNEXPECTED_FLOAT- Campos de esquema:
-
feature.bool_domain
-
- Campos de estadí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
-
- Condición de detección:
-
features.type==FLOATy - se especifica
feature.bool_domainy- (
features.num_stats.min! = 0 ofeatures.num_stats.min! = 1) o - (
features.num_stats.max! = 0 ofeatures.num_stats.max! = 1) o -
features.num_stats.histograms.num_nan> 0 o - (
features.num_stats.histograms.buckets.low_value!= 0 ofeatures.num_stats.histograms.buckets.high_value!= 1) yfeatures.num_stats.histograms.buckets.sample_count> 0
- (
-
- Campos de esquema:
BOOL_TYPE_INVALID_CONFIG- Campos de esquema:
-
feature.bool_domain
-
- Campos de estadísticas:
-
features.type
-
- Condición de detección:
- Si
features.type==INToFLOAT,- se especifica
feature.bool_domainy - se especifica
feature.bool_domain.true_valueofeature.bool_domain.false_value, o
- se especifica
- si
features.type==STRING,- se especifica
feature.bool_domainy -
feature.bool_domain.true_valueyfeature.bool_domain.false_valueno están especificados
- se especifica
- Si
- Campos de esquema:
ENUM_TYPE_BYTES_NOT_STRING- Tipo de anomalía no detectado en TFDV
ENUM_TYPE_FLOAT_NOT_STRING- Tipo de anomalía no detectado en TFDV
ENUM_TYPE_INT_NOT_STRING- Tipo de anomalía no detectado en TFDV
ENUM_TYPE_INVALID_UTF8- Campos de estadísticas:
-
features.string_stats.invalid_utf8_count
-
- Condición de detección:
-
invalid_utf8_count> 0
-
- Campos de estadísticas:
ENUM_TYPE_UNEXPECTED_STRING_VALUES- Campos de esquema:
-
string_domainyfeature.domain; ofeature.string_domain -
feature.distribution_constraints.min_domain_mass
-
- Campos de estadísticas:
-
features.string_stats.rank_histogram*
-
- Condición de detección:
- O bien (número de valores en
rank_histogram* que no están en el dominio/número total de valores) > (1 -feature.distribution_constraints.min_domain_mass) o -
feature.distribution_constraints.min_domain_mass== 1.0 y hay valores en el histograma que no están en el dominio
- O bien (número de valores en
- Campos de esquema:
FEATURE_TYPE_HIGH_NUMBER_VALUES- Campos de esquema:
-
feature.value_count.max -
feature.value_counts.value_count.max
-
- Campos de estadísticas:
-
features.common_stats.max_num_values -
features.common_stats.presence_and_valency_stats.max_num_values
-
- Condición de detección:
- Si se especifica
feature.value_count.max-
features.common_stats.max_num_values>feature.value_count.max; o
-
- si se especifica
feature.value_counts-
feature.value_counts.value_count.max<features.common_stats.presence_and_valency_stats.max_num_valuesen un nivel de anidamiento dado
-
- Si se especifica
- Campos de esquema:
FEATURE_TYPE_LOW_FRACTION_PRESENT- Campos de esquema:
-
feature.presence.min_fraction
-
- Campos de estadísticas:
-
features.common_stats.num_non_missing* -
num_examples*
-
- Condición de detección:
- se especifica
feature.presence.min_fractiony (features.common_stats.num_non_missing* /num_examples*) <feature.presence.min_fractiono -
feature.presence.min_fraction== 1.0 ycommon_stats.num_missing!= 0
- se especifica
- Campos de esquema:
FEATURE_TYPE_LOW_NUMBER_PRESENT- Campos de esquema:
-
feature.presence.min_count
-
- Campos de estadísticas:
-
features.common_stats.num_non_missing*
-
- Condición de detección:
- se especifica
feature.presence.min_county-
features.common_stats.num_non_missing* == 0 o -
features.common_stats.num_non_missing* <feature.presence.min_count
-
- se especifica
- Campos de esquema:
FEATURE_TYPE_LOW_NUMBER_VALUES- Campos de esquema:
-
feature.value_count.min -
feature.value_counts.value_count.min
-
- Campos de estadísticas:
-
features.common_stats.min_num_values -
features.common_stats.presence_and_valency_stats.min_num_values
-
- Condición de detección:
- Si se especifica
feature.value_count.min-
features.common_stats.min_num_values<feature.value_count.min; o
-
- si se especifica
feature.value_counts-
features.common_stats.presence_and_valency_stats.min_num_values<feature.value_counts.value_count.minen un nivel de anidamiento dado
-
- Si se especifica
- Campos de esquema:
FEATURE_TYPE_NOT_PRESENT- Campos de esquema:
-
feature.in_environmentofeature.not_in_environmentoschema.default_environment -
feature.lifecycle_stage -
feature.presence.min_countofeature.presence.min_fraction
-
- Campos de estadísticas:
-
features.common_stats.num_non_missing*
-
- Condición de detección:
-
feature.lifecycle_stageno está en [PLANNED,ALPHA,DEBUG,DEPRECATED] y -
common_stats.num_non_missing* == 0 y - (
feature.presence.min_count> 0 ofeature.presence.min_fraction> 0) y-
feature.in_environment== entorno actual o -
feature.not_in_environment!= entorno actual o -
schema.default_environment!= entorno actual
-
-
- Campos de esquema:
FEATURE_TYPE_NO_VALUES- Tipo de anomalía no detectado en TFDV
FEATURE_TYPE_UNEXPECTED_REPEATED- Tipo de anomalía no detectado en TFDV
FEATURE_TYPE_HIGH_UNIQUE- Campos de esquema:
-
feature.unique_constraints.max
-
- Campos de estadísticas:
-
features.string_stats.unique
-
- Condición de detección:
-
features.string_stats.unique>feature.unique_constraints.max
-
- Campos de esquema:
FEATURE_TYPE_LOW_UNIQUE- Campos de esquema:
-
feature.unique_constraints.min
-
- Campos de estadísticas:
-
features.string_stats.unique
-
- Condición de detección:
-
features.string_stats.unique<feature.unique_constraints.min
-
- Campos de esquema:
FEATURE_TYPE_NO_UNIQUE- Campos de esquema:
-
feature.unique_constraints
-
- Campos de estadísticas:
-
features.string_stats.unique
-
- Condición de detección:
-
feature.unique_constraintsespecificado pero nofeatures.string_stats.uniquepresente (como es el caso donde la característica no es una cadena o categórica)
-
- Campos de esquema:
FLOAT_TYPE_BIG_FLOAT- Campos de esquema:
-
feature.float_domain.max
-
- Campos de estadísticas:
-
features.type -
features.num_stats.maxofeatures.string_stats.rank_histogram
-
- Condición de detección:
- Si
features.type==FLOAT,-
features.num_stats.max>feature.float_domain.max; o
-
- si
features.type==BYTESoSTRING,- valor máximo en
features.string_stats.rank_histogram(cuando se convierte a float) >feature.float_domain.max
- valor máximo en
- Si
- Campos de esquema:
FLOAT_TYPE_NOT_FLOAT- Tipo de anomalía no detectado en TFDV
FLOAT_TYPE_SMALL_FLOAT- Campos de esquema:
-
feature.float_domain.min
-
- Campos de estadísticas:
-
features.type -
features.num_stats.minofeatures.string_stats.rank_histogram
-
- Condición de detección:
- Si
features.type==FLOAT,-
features.num_stats.min<feature.float_domain.min; o
-
- si
features.type==BYTESoSTRING,- valor mínimo en
features.string_stats.rank_histogram(cuando se convierte a float) <feature.float_domain.min
- valor mínimo en
- Si
- Campos de esquema:
FLOAT_TYPE_STRING_NOT_FLOAT- Campos de esquema:
-
feature.float_domain
-
- Campos de estadísticas:
-
features.type -
features.string_stats.rank_histogram
-
- Condición de detección:
-
features.type==BYTESoSTRINGy -
features.string_stats.rank_histogramtiene al menos un valor que no se puede convertir en un flotante
-
- Campos de esquema:
FLOAT_TYPE_NON_STRING- Tipo de anomalía no detectado en TFDV
FLOAT_TYPE_UNKNOWN_TYPE_NUMBER- Tipo de anomalía no detectado en TFDV
FLOAT_TYPE_HAS_NAN- Campos de esquema:
-
feature.float_domain.disallow_nan
-
- Campos de estadísticas:
-
features.type -
features.num_stats.histograms.num_nan
-
- Condición de detección:
-
float_domain.disallow_nanes verdadero y -
features.num_stats.histograms.num_nan> 0
-
- Campos de esquema:
FLOAT_TYPE_HAS_INF- Campos de esquema:
-
feature.float_domain.disallow_inf
-
- Campos de estadísticas:
-
features.type -
features.num_stats.min -
features.num_stats.max
-
- Condición de detección:
-
features.type==FLOAT -
float_domain.disallow_infes verdadero y-
features.num_stats.min==inf/-info -
features.num_stats.max==inf/-inf
-
-
- Campos de esquema:
INT_TYPE_BIG_INT- Campos de esquema:
-
feature.int_domain.max
-
- Campos de estadísticas:
-
features.type -
features.num_stats.max -
features.string_stats.rank_histogram
-
- Condición de detección:
- Si
features.type==INT,-
features.num_stats.max>feature.int_domain.max; o
-
- si
features.type==BYTESoSTRING,- valor máximo en
features.string_stats.rank_histogram(cuando se convierte a int) >feature.int_domain.max
- valor máximo en
- Si
- Campos de esquema:
INT_TYPE_INT_EXPECTED- Tipo de anomalía no detectado en TFDV
INT_TYPE_NOT_INT_STRING- Campos de esquema:
-
feature.int_domain
-
- Campos de estadísticas:
-
features.type -
features.string_stats.rank_histogram
-
- Condición de detección:
-
features.type==BYTESoSTRINGy -
features.string_stats.rank_histogramtiene al menos un valor que no se puede convertir a un int
-
- Campos de esquema:
INT_TYPE_NOT_STRING- Tipo de anomalía no detectado en TFDV
INT_TYPE_SMALL_INT- Campos de esquema:
-
feature.int_domain.min
-
- Campos de estadísticas:
-
features.type -
features.num_stats.min -
features.string_stats.rank_histogram
-
- Condición de detección:
- Si
features.type==INT,-
features.num_stats.min<feature.int_domain.min; o
-
- si
features.type==BYTESoSTRING,- valor mínimo en
features.string_stats.rank_histogram(cuando se convierte a int) <feature.int_domain.min
- valor mínimo en
- Si
- Campos de esquema:
INT_TYPE_STRING_EXPECTED- Tipo de anomalía no detectado en TFDV
INT_TYPE_UNKNOWN_TYPE_NUMBER- Tipo de anomalía no detectado en TFDV
LOW_SUPPORTED_IMAGE_FRACTION- Campos de esquema:
-
feature.image_domain.minimum_supported_image_fraction
-
- Campos de estadísticas:
-
features.custom_stats.rank_histogrampara custom_stats con el nombreimage_format_histogram. Tenga en cuenta que las estadísticas de dominio semántico deben estar habilitadas para que se genere image_format_histogram y para que se realice esta validación. Las estadísticas de dominio semántico no se generan de forma predeterminada.
-
- Condición de detección:
- La fracción de valores que son tipos de imágenes de Tensorflow compatibles con todos los tipos de imágenes es menor que
feature.image_domain.minimum_supported_image_fraction.
- La fracción de valores que son tipos de imágenes de Tensorflow compatibles con todos los tipos de imágenes es menor que
- Campos de esquema:
SCHEMA_MISSING_COLUMN- Campos de esquema:
-
feature.in_environmentofeature.not_in_environmentoschema.default_environment -
feature.lifecycle_stage -
feature.presence.min_countofeature.presence.min_fraction
-
- Condición de detección:
-
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATEDy -
feature.presence.min_count> 0 ofeature.presence.min_fraction> 0 y -
feature.in_environment== entorno actual ofeature.not_in_environment!= entorno actual oschema.default_environment!= entorno actual y - no se encuentra ninguna función con el nombre o la ruta especificados en el protocolo de estadísticas
-
- Campos de esquema:
SCHEMA_NEW_COLUMN- Condición de detección:
- hay una característica en el prototipo de estadísticas pero ninguna característica con su nombre/ruta en el prototipo de esquema
- Condición de detección:
SCHEMA_TRAINING_SERVING_SKEW- Tipo de anomalía no detectado en TFDV
STRING_TYPE_NOW_FLOAT- Tipo de anomalía no detectado en TFDV
STRING_TYPE_NOW_INT- Tipo de anomalía no detectado en TFDV
COMPARATOR_CONTROL_DATA_MISSING- Campos de esquema:
-
feature.skew_comparator.infinity_norm.threshold -
feature.drift_comparator.infinity_norm.threshold
-
- Condición de detección:
- el prototipo de estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desviación) está disponible pero no contiene la característica especificada
- Campos de esquema:
COMPARATOR_TREATMENT_DATA_MISSING- Tipo de anomalía no detectado en TFDV
COMPARATOR_L_INFTY_HIGH- Campos de esquema:
-
feature.skew_comparator.infinity_norm.threshold -
feature.drift_comparator.infinity_norm.threshold
-
- Campos de estadísticas:
-
features.string_stats.rank_histogram*
-
- Condición de detección:
- Norma L-infinito del vector que representa la diferencia entre los recuentos normalizados de las
features.string_stats.rank_histogram* en las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desviación) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para deriva) >feature.skew_comparator.infinity_norm.thresholdofeature.drift_comparator.infinity_norm.threshold
- Norma L-infinito del vector que representa la diferencia entre los recuentos normalizados de las
- 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 estadísticas:
-
features.string_stats.rank_histogram
-
- Condición de detección:
- Se superó la diferencia de conteo absoluto normalizado de los conteos de valores de las
features.string_stats.rank_histogramen las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desvío) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para desvío). feature.skew_comparator.normalized_abs_difference.threshold o feature.drift_comparator.normalized_abs_difference.threshold. Las diferencias de conteo se normalizan por el conteo total en ambas condiciones.
- Se superó la diferencia de conteo absoluto normalizado de los conteos de valores de las
- 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 estadísticas:
-
features.num_stats.histogramsde tipoSTANDARD -
features.string_stats.rank_histogram*
-
- Condición de detección:
- Divergencia de Jensen-Shannon aproximada calculada entre las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desvío) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para desvío) >
feature.skew_comparator.jensen_shannon_divergence.thresholdofeature.drift_comparator.jensen_shannon_divergence.threshold. La divergencia Jensen-Shannon aproximada se calcula en función de los recuentos de muestras normalizados tanto en el histograma estándarfeatures.num_stats.histogramscomo enfeatures.string_stats.rank_histogram*.
- Divergencia de Jensen-Shannon aproximada calculada entre las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desvío) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para desvío) >
- Campos de esquema:
NO_DATA_IN_SPAN- Tipo de anomalía no detectado en TFDV
SPARSE_FEATURE_MISSING_VALUE- Campos de esquema:
-
sparse_feature.value_feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "missing_value" como nombre y - ¡Estadística personalizada
missing_value! = 0
-
- Campos de esquema:
SPARSE_FEATURE_MISSING_INDEX- Campos de esquema:
-
sparse_feature.index_feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "missing_index" como nombre y - ¡La estadística personalizada
missing_indexcontiene cualquier valor! = 0
-
- Campos de esquema:
SPARSE_FEATURE_LENGTH_MISMATCH- Campos de esquema:
-
sparse_feature.value_feature -
sparse_feature.index_feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "min_length_diff" o "max_length_diff" como nombre -
min_length_diffomax_length_diffla estadística personalizada contiene cualquier valor! = 0
-
- Campos de esquema:
SPARSE_FEATURE_NAME_COLLISION- Campos de esquema:
-
sparse_feature.name -
sparse_feature.lifecycle_stage -
feature.name -
feature.lifecycle_stage
-
- Condición de detección:
-
sparse_feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATED, y -
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATED, y -
sparse_feature.name==feature.name
-
- Campos de esquema:
SEMANTIC_DOMAIN_UPDATE- Campos de esquema:
-
feature.domain_info
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "domain_info" como nombre y -
feature.domain_infoaún no está configurado en el esquema y - hay una sola estadística personalizada
domain_infopara la característica
-
- 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 estadísticas:
-
num_examples*
-
- Condición de detección:
-
num_examples* > 0 y - el prototipo de estadísticas anterior está disponible y
-
num_examples* / estadí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 estadísticas:
-
num_examples*
-
- Condición de detección:
-
num_examples* > 0 y - el prototipo de estadísticas anterior está disponible y
-
num_examples* / estadísticas anterioresnum_examples* > comparadormax_fraction_threshold
-
- Campos de esquema:
DATASET_LOW_NUM_EXAMPLES- Campos de esquema:
-
schema.dataset_constraints.min_examples_count
-
- Campos de estadísticas:
-
num_examples*
-
- Condición de detección:
-
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 estadísticas:
-
num_examples*
-
- Condición de detección:
-
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
-
- Condición de detección:
-
weighted_feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATEDy- si
feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATED,-
weighted_feature.name==feature.name; o
-
- si
sparse_feature.lifecycle_stage!=PLANNED,ALPHA,DEBUGoDEPRECATED,-
weighted_feature.name==sparse_feature.name
-
- si
-
- Campos de esquema:
WEIGHTED_FEATURE_MISSING_VALUE- Campos de esquema:
-
weighted_feature.feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "missing_value" como nombre y - ¡Estadística personalizada
missing_value! = 0
-
- Campos de esquema:
WEIGHTED_FEATURE_MISSING_WEIGHT- Campos de esquema:
-
weighted_feature.weight_feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "missing_weight" como nombre y - ¡Estadística personalizada
missing_weight! = 0
-
- Campos de esquema:
WEIGHTED_FEATURE_LENGTH_MISMATCH- Campos de esquema:
-
weighted_feature.feature -
weighted_feature.weight_feature
-
- Campos de estadísticas:
-
features.custom_stats
-
- Condición de detección:
-
features.custom_statscon "min_weighted_length_diff" o "max_weight_length_diff" como nombre, y -
min_weight_length_diffomax_weight_length_diffestadística personalizada! = 0
-
- Campos de esquema:
VALUE_NESTEDNESS_MISMATCH- Campos de esquema:
-
feature.value_count -
feature.value_counts
-
- Campos de estadísticas:
-
features.common_stats.presence_and_valency_stats
-
- Condición de detección:
- se especifica
feature.value_count, y hay unapresence_and_valency_statsrepetidas de la característica (que indica un nivel de anidamiento mayor que uno) y - se especifica
feature.value_counts, y la cantidad de veces que se repiten laspresence_and_valency_statsde la función no coincide con la cantidad de veces que se repitevalue_countdentro defeature.value_counts
- se especifica
- Campos de esquema:
DOMAIN_INVALID_FOR_TYPE- Campos de esquema:
-
feature.type -
feature.domain_info
-
- Campos de estadísticas:
-
features.type
-
- Condición de detección:
- Si
features.type==BYTES,-
feature.domain_infoes de un tipo incompatible; o
-
- si
features.type!=BYTES,-
feature.domain_infono coincide confeature.type(por ejemplo, se especificaint_domain, perotypede función esFLOAT)
-
- Si
- Campos de esquema:
FEATURE_MISSING_NAME- Campos de esquema:
-
feature.name
-
- Condición de detección:
-
feature.nameno está especificado
-
- Campos de esquema:
FEATURE_MISSING_TYPE- Campos de esquema:
-
feature.type
-
- Condición de detección:
-
feature.typeno está 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
-
- Condición de detección:
-
feature.presence.min_fraction< 0.0 o > 1.0, o -
feature.value_count.min< 0 o >feature.value_count.max, o - se especifica un dominio bool, int, float, struct o semántico para una función y también se especifican
feature.distribution_constraintspara esa función, o -
feature.distribution_constraintsse especifica para una función, pero no se especifica un dominio de nivel de esquema nifeature.string_domainpara esa función
-
- Campos de esquema:
INVALID_DOMAIN_SPECIFICATION- Campos de esquema:
-
feature.domain_info -
feature.bool_domain -
feature.string_domain
-
- Condición de detección:
- Se especifica un tipo desconocido
feature.domain_infoo - se especifica
feature.domain, pero no hay ningún dominio coincidente especificado en el nivel de esquema, o - si se especifican
feature.bool_domain,feature.bool_domain.true_valueyfeature.bool_domain.false_value,-
feature.bool_domain.true_value==feature.bool_domain.false_value, o
-
- si se especifica
feature.string_domain,- ha duplicado
feature.string_domain.valueso -
feature.string_domainsupera el tamaño máximo
- ha duplicado
- Se especifica un tipo desconocido
- Campos de esquema:
UNEXPECTED_DATA_TYPE- Campos de esquema:
-
feature.type
-
- Campos de estadísticas:
-
features.type
-
- Condición de detección:
-
features.typeno es del tipo especificado enfeature.type
-
- Campos de esquema:
SEQUENCE_VALUE_TOO_FEW_OCCURRENCES- Campos de esquema:
-
feature.natural_language_domain.token_constraints.min_per_sequence
-
- Campos de estadísticas:
-
features.custom_stats.nl_statistics.token_statistics.per_sequence_min_frequency
-
- Condición de detección:
-
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 estadísticas:
-
features.custom_stats.nl_statistics.token_statistics.per_sequence_max_frequency
-
- Condición de detección:
-
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 estadísticas:
-
features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
-
- Condición de detección:
-
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 estadísticas:
-
features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
-
- Condición de detección:
-
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 estadísticas:
-
features.custom_stats.nl_statistics.feature_coverage
-
- Condición de detección:
-
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 estadísticas:
-
features.custom_stats.nl_statistics.avg_token_length
-
- Condición de detección:
-
avg_token_length<min_avg_token_length
-
- Campos de esquema:
NLP_WRONG_LOCATION- Tipo de anomalía no detectado en TFDV
EMBEDDING_SHAPE_INVALID- Tipo de anomalía no detectado en TFDV
MAX_IMAGE_BYTE_SIZE_EXCEEDED- Campos de esquema:
-
feature.image_domain.max_image_byte_size
-
- Campos de estadísticas:
-
features.bytes_stats.max_num_bytes_int
-
- Condición de detección:
-
max_num_bytes_int>max_image_byte_size
-
- Campos de esquema:
INVALID_FEATURE_SHAPE- Campos de esquema:
-
feature.shape
-
- Campos de estadí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
-
- Condición de detección:
- se especifica
feature.shapey- la función puede faltar (
num_missing!= 0) en algún nivel de nido o - la función puede tener un número variable de valores (
min_num_values!=max_num_values) en algún nivel de nido o - la forma especificada no es compatible con las estadísticas de recuento de valores de la función. Por ejemplo, la forma
[16]es compatible con (min_num_values==max_num_values==[2, 2, 4](para una característica de 3 anidados))
- la función puede faltar (
- se especifica
- Campos de esquema:
STATS_NOT_AVAILBLE- La anomalía ocurre cuando las estadísticas necesarias para validar las restricciones no están presentes.
DERIVED_FEATURE_BAD_LIFECYCLE- Campos de esquema:
-
feature.lifecycle_stage
-
- Campos de estadísticas:
-
features.validation_derived_source
-
- Condición de detección:
-
feature.lifecycle_stageno esDERIVEDoDISABLED, yfeatures.validation_derived_sourceestá presente, lo que indica que se trata de una función derivada.
-
- Campos de esquema:
DERIVED_FEATURE_INVALID_SOURCE- Campos de esquema:
-
feature.validation_derived_source
-
- Campos de estadísticas:
-
features.validation_derived_source
-
- Condición de detección:
-
features.validation_derived_sourceestá presente para una característica, pero lafeature.validation_derived_sourcecorrespondiente no lo está.
-
- Campos de esquema:
* Si hay una estadística ponderada disponible para este campo, se utilizará en lugar de la estadística no ponderada.