Convalida dei dati di TensorFlow

Visualizza su GitHub

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 .