Validación de datos de TensorFlow

Ver en GitHub

TensorFlow Data Validation (TFDV) es una biblioteca para explorar y validar datos de aprendizaje automático. Está diseñado para ser altamente escalable y funcionar bien con TensorFlow y TensorFlow Extended (TFX) .

La validación de datos TF incluye:

  • Cálculo escalable de estadísticas resumidas de datos de entrenamiento y prueba.
  • Integración con un visor para distribuciones de datos y estadísticas, así como comparación facetada de pares de características ( Facetas )
  • Generación automatizada de esquemas de datos para describir expectativas sobre datos como valores, rangos y vocabularios requeridos.
  • Un visor de esquemas para ayudarle a inspeccionar el esquema.
  • Detección de anomalías para identificar anomalías, como funciones faltantes, valores fuera de rango o tipos de funciones incorrectos, por nombrar algunas.
  • Un visor de anomalías para que puedas ver qué funciones tienen anomalías y aprender más para corregirlas.

Para obtener instrucciones sobre el uso de TFDV, consulte la guía de introducción y pruebe el cuaderno de ejemplo . Algunas de las técnicas implementadas en TFDV se describen en un artículo técnico publicado en SysML'19 .

Instalación desde PyPI

La forma recomendada de instalar TFDV es utilizando el paquete PyPI :

pip install tensorflow-data-validation

Paquetes nocturnos

TFDV también ofrece paquetes nocturnos en Google Cloud. Para instalar el último paquete nocturno, utilice el siguiente comando:

export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation

Esto instalará los paquetes nocturnos para las principales dependencias de TFDV, como TensorFlow Metadata (TFMD) y TFX Basic Shared Libraries (TFX-BSL).

A veces, TFDV utiliza los cambios más recientes de esas dependencias, que aún no se han publicado. Debido a esto, es más seguro usar versiones nocturnas de esas bibliotecas dependientes cuando se usa TFDV nocturno. Exporte la variable de entorno TFX_DEPENDENCY_SELECTOR para hacerlo.

Construir con Docker

Esta es la forma recomendada de compilar TFDV en Linux y se prueba continuamente en Google.

1. Instale Docker

Primero instale docker y docker-compose siguiendo las instrucciones: Docker ; docker-componer .

2. Clonar el repositorio TFDV

git clone https://github.com/tensorflow/data-validation
cd data-validation

Tenga en cuenta que estas instrucciones instalarán la rama maestra más reciente de TensorFlow Data Validation. Si desea instalar una rama específica (como una rama de lanzamiento), pase -b <branchname> al comando git clone .

3. Construya el paquete pip

Luego, ejecute lo siguiente en la raíz del proyecto:

sudo docker-compose build manylinux2010
sudo docker-compose run -e PYTHON_VERSION=${PYTHON_VERSION} manylinux2010

donde PYTHON_VERSION es uno de {39, 310, 311} .

Se producirá una rueda bajo dist/ .

4. Instale el paquete pip

pip install dist/*.whl

Construir desde la fuente

1. Requisitos previos

Para compilar y utilizar TFDV, debe configurar algunos requisitos previos.

Instalar NumPy

Si NumPy no está instalado en su sistema, instálelo ahora siguiendo estas instrucciones .

Instalar Bazel

Si Bazel no está instalado en su sistema, instálelo ahora siguiendo estas instrucciones .

2. Clonar el repositorio TFDV

git clone https://github.com/tensorflow/data-validation
cd data-validation

Tenga en cuenta que estas instrucciones instalarán la rama maestra más reciente de TensorFlow Data Validation. Si desea instalar una rama específica (como una rama de lanzamiento), pase -b <branchname> al comando git clone .

3. Construya el paquete pip

La rueda TFDV depende de la versión de Python: para crear el paquete pip que funcione para una versión específica de Python, use ese binario de Python para ejecutar:

python setup.py bdist_wheel

Puede encontrar el archivo .whl generado en el subdirectorio dist .

4. Instale el paquete pip

pip install dist/*.whl

Plataformas compatibles

TFDV se prueba en los siguientes sistemas operativos de 64 bits:

  • macOS 12.5 (Monterey) o posterior.
  • Ubuntu 20.04 o posterior.
  • Windows 7 o posterior.

Dependencias notables

Se requiere TensorFlow.

Se requiere Apache Beam ; es la forma en que se respalda la computación distribuida eficiente. De forma predeterminada, Apache Beam se ejecuta en modo local, pero también puede ejecutarse en modo distribuido utilizando Google Cloud Dataflow y otros ejecutores de Apache Beam.

También se requiere Apache Arrow . TFDV usa Arrow para representar datos internamente con el fin de utilizar funciones numerosas vectorizadas.

Versiones compatibles

La siguiente tabla muestra las versiones de paquetes que son compatibles entre sí. Esto lo determina nuestro marco de pruebas, pero otras combinaciones no probadas también pueden funcionar.

validación-de-datos-tensorflow haz-apache[gcp] pyarrow flujo tensor metadatos de tensorflow transformación de flujo tensor tfx-bsl
Maestro de GitHub 2.47.0 10.0.0 todas las noches (1.x/2.x) 1.14.0 n / A 1.14.0
1.14.0 2.47.0 10.0.0 2.13 1.14.0 n / A 1.14.0
1.13.0 2.40.0 6.0.0 2.12 1.13.1 n / A 1.13.0
1.12.0 2.40.0 6.0.0 2.11 1.12.0 n / A 1.12.0
1.11.0 2.40.0 6.0.0 1,15 / 2,10 1.11.0 n / A 1.11.0
1.10.0 2.40.0 6.0.0 1,15 / 2,9 1.10.0 n / A 1.10.1
1.9.0 2.38.0 5.0.0 1,15 / 2,9 1.9.0 n / A 1.9.0
1.8.0 2.38.0 5.0.0 1,15 / 2,8 1.8.0 n / A 1.8.0
1.7.0 2.36.0 5.0.0 1,15 / 2,8 1.7.0 n / A 1.7.0
1.6.0 2.35.0 5.0.0 1,15 / 2,7 1.6.0 n / A 1.6.0
1.5.0 2.34.0 2.0.0 1,15 / 2,7 1.5.0 n / A 1.5.0
1.4.0 2.32.0 2.0.0 1,15 / 2,6 1.4.0 n / A 1.4.0
1.3.0 2.32.0 2.0.0 1,15 / 2,6 1.2.0 n / A 1.3.0
1.2.0 2.31.0 2.0.0 1,15 / 2,5 1.2.0 n / A 1.2.0
1.1.1 2.29.0 2.0.0 1,15 / 2,5 1.1.0 n / A 1.1.1
1.1.0 2.29.0 2.0.0 1,15 / 2,5 1.1.0 n / A 1.1.0
1.0.0 2.29.0 2.0.0 1,15 / 2,5 1.0.0 n / A 1.0.0
0.30.0 2.28.0 2.0.0 1,15 / 2,4 0.30.0 n / A 0.30.0
0.29.0 2.28.0 2.0.0 1,15 / 2,4 0.29.0 n / A 0.29.0
0.28.0 2.28.0 2.0.0 1,15 / 2,4 0.28.0 n / A 0.28.1
0.27.0 2.27.0 2.0.0 1,15 / 2,4 0.27.0 n / A 0.27.0
0.26.1 2.28.0 0.17.0 1,15 / 2,3 0.26.0 0.26.0 0.26.0
0.26.0 2.25.0 0.17.0 1,15 / 2,3 0.26.0 0.26.0 0.26.0
0.25.0 2.25.0 0.17.0 1,15 / 2,3 0.25.0 0.25.0 0.25.0
0.24.1 2.24.0 0.17.0 1,15 / 2,3 0.24.0 0.24.1 0.24.1
0.24.0 2.23.0 0.17.0 1,15 / 2,3 0.24.0 0.24.0 0.24.0
0.23.1 2.24.0 0.17.0 1,15 / 2,3 0.23.0 0.23.0 0.23.0
0.23.0 2.23.0 0.17.0 1,15 / 2,3 0.23.0 0.23.0 0.23.0
0.22.2 2.20.0 0.16.0 1,15 / 2,2 0.22.0 0.22.0 0.22.1
0.22.1 2.20.0 0.16.0 1,15 / 2,2 0.22.0 0.22.0 0.22.1
0.22.0 2.20.0 0.16.0 1,15 / 2,2 0.22.0 0.22.0 0.22.0
0.21.5 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.1 0.21.3
0.21.4 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.1 0.21.3
0.21.2 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.21.1 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.21.0 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.15.0 2.16.0 0.14.0 1.15 / 2.0 0.15.0 0.15.0 0.15.0
0.14.1 2.14.0 0.14.0 1.14 0.14.0 0.14.0 n / A
0.14.0 2.14.0 0.14.0 1.14 0.14.0 0.14.0 n / A
0.13.1 2.11.0 n / A 1.13 0.12.1 0.13.0 n / A
0.13.0 2.11.0 n / A 1.13 0.12.1 0.13.0 n / A
0.12.0 2.10.0 n / A 1.12 0.12.1 0.12.0 n / A
0.11.0 2.8.0 n / A 1.11 0.9.0 0.11.0 n / A
0.9.0 2.6.0 n / A 1.9 n / A n / A n / A

Preguntas

Dirija cualquier pregunta sobre cómo trabajar con TF Data Validation a Stack Overflow utilizando la etiqueta tensorflow-data-validation .