Validation des données TensorFlow

Voir sur GitHub

TensorFlow Data Validation (TFDV) est une bibliothèque permettant d'explorer et de valider les données d'apprentissage automatique. Il est conçu pour être hautement évolutif et pour fonctionner correctement avec TensorFlow et TensorFlow Extended (TFX) .

La validation des données TF comprend :

  • Calcul évolutif de statistiques récapitulatives des données de formation et de test.
  • Intégration avec une visionneuse pour les distributions de données et les statistiques, ainsi que comparaison à facettes de paires de fonctionnalités ( Facettes )
  • Génération automatisée de schémas de données pour décrire les attentes concernant les données telles que les valeurs requises, les plages et les vocabulaires
  • Un visualiseur de schéma pour vous aider à inspecter le schéma.
  • Détection d'anomalies pour identifier les anomalies, telles que des fonctionnalités manquantes, des valeurs hors plage ou des types de fonctionnalités incorrects, pour n'en nommer que quelques-unes.
  • Un visualiseur d'anomalies pour que vous puissiez voir quelles fonctionnalités présentent des anomalies et en savoir plus afin de les corriger.

Pour obtenir des instructions sur l'utilisation de TFDV, consultez le guide de démarrage et essayez l' exemple de notebook . Certaines des techniques implémentées dans TFDV sont décrites dans un article technique publié dans SysML'19 .

Installation à partir de PyPI

La méthode recommandée pour installer TFDV consiste à utiliser le package PyPI :

pip install tensorflow-data-validation

Forfaits de nuit

TFDV héberge également des packages nocturnes sur Google Cloud. Pour installer le dernier package nocturne, veuillez utiliser la commande suivante :

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

Cela installera les packages nocturnes pour les principales dépendances de TFDV telles que TensorFlow Metadata (TFMD) et TFX Basic Shared Libraries (TFX-BSL).

Parfois, TFDV utilise les modifications les plus récentes de ces dépendances, qui ne sont pas encore publiées. Pour cette raison, il est plus sûr d'utiliser des versions nocturnes de ces bibliothèques dépendantes lors de l'utilisation nocturne de TFDV. Exportez la variable d'environnement TFX_DEPENDENCY_SELECTOR pour ce faire.

Construire avec Docker

Il s'agit de la méthode recommandée pour créer TFDV sous Linux et elle est testée en permanence par Google.

1. Installez Docker

Veuillez d'abord installer docker et docker-compose en suivant les instructions : docker ; docker-composer .

2. Clonez le référentiel TFDV

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

Notez que ces instructions installeront la dernière branche principale de TensorFlow Data Validation. Si vous souhaitez installer une branche spécifique (telle qu'une branche de publication), transmettez -b <branchname> à la commande git clone .

3. Construisez le package pip

Ensuite, exécutez ce qui suit à la racine du projet :

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

PYTHON_VERSION est l'un des {39, 310, 311} .

Une roue sera produite sous dist/ .

4. Installez le package pip

pip install dist/*.whl

Construire à partir des sources

1. Conditions préalables

Pour compiler et utiliser TFDV, vous devez configurer certains prérequis.

Installer NumPy

Si NumPy n'est pas installé sur votre système, installez-le maintenant en suivant ces instructions .

Installer Bazel

Si Bazel n'est pas installé sur votre système, installez-le maintenant en suivant ces instructions .

2. Clonez le référentiel TFDV

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

Notez que ces instructions installeront la dernière branche principale de TensorFlow Data Validation. Si vous souhaitez installer une branche spécifique (telle qu'une branche de publication), transmettez -b <branchname> à la commande git clone .

3. Construisez le package pip

La roue TFDV dépend de la version de Python : pour créer le package pip qui fonctionne pour une version spécifique de Python, utilisez ce binaire Python pour exécuter :

python setup.py bdist_wheel

Vous pouvez trouver le fichier .whl généré dans le sous-répertoire dist .

4. Installez le package pip

pip install dist/*.whl

Plateformes prises en charge

TFDV est testé sur les systèmes d'exploitation 64 bits suivants :

  • macOS 12.5 (Monterey) ou version ultérieure.
  • Ubuntu 20.04 ou version ultérieure.

Dépendances notables

TensorFlow est requis.

Apache Beam est requis ; c'est ainsi que le calcul distribué efficace est pris en charge. Par défaut, Apache Beam s'exécute en mode local mais peut également s'exécuter en mode distribué à l'aide de Google Cloud Dataflow et d'autres exécuteurs Apache Beam.

Apache Arrow est également requis. TFDV utilise Arrow pour représenter les données en interne afin d'utiliser des fonctions numpy vectorisées.

Versions compatibles

Le tableau suivant présente les versions de package compatibles les unes avec les autres. Ceci est déterminé par notre cadre de test, mais d'autres combinaisons non testées peuvent également fonctionner.

validation des données tensorflow Apache-beam[gcp] flèche flux tensoriel métadonnées tensorflow transformation de flux tensoriel tfx-bsl
Maître GitHub 2.47.0 10.0.0 tous les soirs (1.x/2.x) 1.15.0 n / A 1.15.1
1.15.1 2.47.0 10.0.0 2.15 1.15.0 n / A 1.15.1
1.15.0 2.47.0 10.0.0 2.15 1.15.0 n / A 1.15.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

Questions

Veuillez adresser toutes vos questions sur l'utilisation de TF Data Validation à Stack Overflow à l'aide de la balise tensorflow-data-validation .