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
où 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 .
Links
- Guide de démarrage pour la validation des données TensorFlow
- Carnet de validation des données TensorFlow
- Documentation de l'API de validation des données TensorFlow
- Article de blog sur la validation des données TensorFlow
- PyPI de validation des données TensorFlow
- Document de validation des données TensorFlow
- Diapositives de validation des données TensorFlow