TensorFlow Data Validation (TFDV) è una libreria per esplorare e convalidare i dati di machine learning. È progettato per essere altamente scalabile e per funzionare bene con TensorFlow e TensorFlow Extended (TFX) .
La convalida dei dati TF include:
- Calcolo scalabile delle statistiche riassuntive dei dati di allenamento e test.
- Integrazione con un visualizzatore per distribuzioni di dati e statistiche, nonché confronto sfaccettato di coppie di funzionalità ( Facets )
- Generazione automatizzata di schemi di dati per descrivere le aspettative sui dati come valori, intervalli e vocabolari richiesti
- Un visualizzatore di schemi per aiutarti a ispezionare lo schema.
- Rilevamento delle anomalie per identificare anomalie, come funzionalità mancanti, valori fuori intervallo o tipi di funzionalità errati, solo per citarne alcuni.
- Un visualizzatore di anomalie in modo da poter vedere quali funzionalità presentano anomalie e saperne di più per correggerle.
Per istruzioni sull'utilizzo di TFDV, consulta la guida introduttiva e prova il notebook di esempio . Alcune delle tecniche implementate in TFDV sono descritte in un documento tecnico pubblicato in SysML'19 .
Installazione da PyPI
Il modo consigliato per installare TFDV è utilizzare il pacchetto PyPI :
pip install tensorflow-data-validation
Pacchetti notturni
TFDV ospita anche pacchetti notturni su Google Cloud. Per installare l'ultimo pacchetto notturno, utilizzare il seguente comando:
export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation
Verranno installati i pacchetti notturni per le principali dipendenze di TFDV come TensorFlow Metadata (TFMD) e TFX Basic Shared Libraries (TFX-BSL).
A volte TFDV utilizza le modifiche più recenti di tali dipendenze, che non sono ancora state rilasciate. Per questo motivo, è più sicuro utilizzare le versioni notturne di tali librerie dipendenti quando si utilizza TFDV notturno. Esporta la variabile di ambiente TFX_DEPENDENCY_SELECTOR
per farlo.
Costruisci con Docker
Questo è il modo consigliato per creare TFDV sotto Linux ed è continuamente testato da Google.
1. Installa Docker
Installa prima docker
e docker-compose
seguendo le istruzioni: docker ; finestra mobile-componi .
2. Clonare il repository TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
Tieni presente che queste istruzioni installeranno l'ultimo ramo principale di TensorFlow Data Validation. Se desideri installare un ramo specifico (come un ramo di rilascio), passa -b <branchname>
al comando git clone
.
3. Costruisci il pacchetto pip
Quindi, esegui quanto segue nella root del progetto:
sudo docker-compose build manylinux2010
sudo docker-compose run -e PYTHON_VERSION=${PYTHON_VERSION} manylinux2010
dove PYTHON_VERSION
è uno tra {39, 310, 311}
.
Una ruota verrà prodotta in dist/
.
4. Installa il pacchetto pip
pip install dist/*.whl
Costruisci dalla fonte
1. Prerequisiti
Per compilare e utilizzare TFDV, è necessario impostare alcuni prerequisiti.
Installa NumPy
Se NumPy non è installato sul tuo sistema, installalo ora seguendo queste indicazioni .
Installa Bazel
Se Bazel non è installato sul tuo sistema, installalo ora seguendo queste indicazioni .
2. Clonare il repository TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
Tieni presente che queste istruzioni installeranno l'ultimo ramo principale di TensorFlow Data Validation. Se vuoi installare un ramo specifico (come un ramo di rilascio), passa -b <branchname>
al comando git clone
.
3. Costruisci il pacchetto pip
La ruota TFDV
dipende dalla versione di Python: per creare il pacchetto pip che funzioni per una versione specifica di Python, utilizza il binario Python per eseguire:
python setup.py bdist_wheel
È possibile trovare il file .whl
generato nella sottodirectory dist
.
4. Installa il pacchetto pip
pip install dist/*.whl
Piattaforme supportate
TFDV è testato sui seguenti sistemi operativi a 64 bit:
- macOS 12.5 (Monterey) o successivo.
- Ubuntu 20.04 o successiva.
Dipendenze notevoli
TensorFlow è obbligatorio.
È richiesto Apache Beam ; è il modo in cui viene supportato il calcolo distribuito efficiente. Per impostazione predefinita, Apache Beam viene eseguito in modalità locale, ma può anche essere eseguito in modalità distribuita utilizzando Google Cloud Dataflow e altri runner Apache Beam.
È richiesto anche Apache Arrow . TFDV utilizza Arrow per rappresentare i dati internamente al fine di utilizzare funzioni numpy vettorializzate.
Versioni compatibili
La tabella seguente mostra le versioni del pacchetto compatibili tra loro. Ciò è determinato dal nostro framework di test, ma potrebbero funzionare anche altre combinazioni non testate .
convalida dei dati tensorflow | apache-beam[gcp] | piarrow | tensoreflusso | metadati di tensorflow | trasformata tensorflusso | tfx-bsl |
---|---|---|---|---|---|---|
Maestro di GitHub | 2.47.0 | 10.0.0 | notturno (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 |
Domande
Rivolgi eventuali domande sull'utilizzo di TF Data Validation a Stack Overflow utilizzando il tag tensorflow-data-validation .
Collegamenti
- Guida introduttiva alla convalida dei dati TensorFlow
- Notebook di convalida dei dati TensorFlow
- Documentazione dell'API di convalida dei dati TensorFlow
- Post sul blog sulla convalida dei dati di TensorFlow
- PyPI di convalida dei dati TensorFlow
- Documento di convalida dei dati TensorFlow
- Diapositive di convalida dei dati TensorFlow