Validação de dados do TensorFlow

Ver no GitHub

TensorFlow Data Validation (TFDV) é uma biblioteca para explorar e validar dados de aprendizado de máquina. Ele foi projetado para ser altamente escalonável e funcionar bem com TensorFlow e TensorFlow Extended (TFX) .

A validação de dados TF inclui:

  • Cálculo escalável de estatísticas resumidas de dados de treinamento e teste.
  • Integração com visualizador para distribuições de dados e estatísticas, bem como comparação facetada de pares de características ( Facets )
  • Geração automatizada de esquema de dados para descrever expectativas sobre dados, como valores, intervalos e vocabulários necessários
  • Um visualizador de esquema para ajudá-lo a inspecionar o esquema.
  • Detecção de anomalias para identificar anomalias, como recursos ausentes, valores fora do intervalo ou tipos de recursos incorretos, para citar alguns.
  • Um visualizador de anomalias para que você possa ver quais recursos apresentam anomalias e aprender mais para corrigi-las.

Para obter instruções sobre como usar o TFDV, consulte o guia de primeiros passos e experimente o notebook de exemplo . Algumas das técnicas implementadas no TFDV são descritas em um artigo técnico publicado no SysML'19 .

Instalando a partir do PyPI

A maneira recomendada de instalar o TFDV é usando o pacote PyPI :

pip install tensorflow-data-validation

Pacotes noturnos

TFDV também hospeda pacotes noturnos no Google Cloud. Para instalar o pacote noturno mais recente, use o seguinte comando:

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

Isso instalará os pacotes noturnos para as principais dependências do TFDV, como TensorFlow Metadata (TFMD) e TFX Basic Shared Libraries (TFX-BSL).

Às vezes, o TFDV usa as alterações mais recentes dessas dependências, que ainda não foram lançadas. Por causa disso, é mais seguro usar versões noturnas dessas bibliotecas dependentes ao usar o TFDV noturno. Exporte a variável de ambiente TFX_DEPENDENCY_SELECTOR para fazer isso.

Construir com Docker

Esta é a forma recomendada de construir TFDV no Linux e é continuamente testada no Google.

1. Instale o Docker

Primeiro instale docker e docker-compose seguindo as instruções: docker ; docker-compose .

2. Clone o repositório TFDV

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

Observe que estas instruções instalarão o branch master mais recente do TensorFlow Data Validation. Se você deseja instalar um branch específico (como um branch de lançamento), passe -b <branchname> para o comando git clone .

3. Construa o pacote pip

Em seguida, execute o seguinte na raiz do projeto:

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

onde PYTHON_VERSION é um de {39, 310, 311} .

Uma roda será produzida em dist/ .

4. Instale o pacote pip

pip install dist/*.whl

Construir a partir da fonte

1. Pré-requisitos

Para compilar e usar o TFDV, você precisa configurar alguns pré-requisitos.

Instale o NumPy

Se o NumPy não estiver instalado no seu sistema, instale-o agora seguindo estas instruções .

Instale o Bazel

Se o Bazel não estiver instalado em seu sistema, instale-o agora seguindo estas instruções .

2. Clone o repositório TFDV

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

Observe que estas instruções instalarão o branch master mais recente do TensorFlow Data Validation. Se você deseja instalar um branch específico (como um branch de lançamento), passe -b <branchname> para o comando git clone .

3. Construa o pacote pip

A roda TFDV depende da versão do Python - para construir o pacote pip que funciona para uma versão específica do Python, use esse binário do Python para executar:

python setup.py bdist_wheel

Você pode encontrar o arquivo .whl gerado no subdiretório dist .

4. Instale o pacote pip

pip install dist/*.whl

Plataformas suportadas

TFDV é testado nos seguintes sistemas operacionais de 64 bits:

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

Dependências notáveis

O TensorFlow é obrigatório.

Apache Beam é necessário; é a forma como a computação distribuída eficiente é suportada. Por padrão, o Apache Beam é executado em modo local, mas também pode ser executado em modo distribuído usando o Google Cloud Dataflow e outros executores do Apache Beam .

Apache Arrow também é necessário. TFDV usa Arrow para representar dados internamente para fazer uso de funções numpy vetorizadas.

Versões compatíveis

A tabela a seguir mostra as versões do pacote que são compatíveis entre si. Isto é determinado pela nossa estrutura de testes, mas outras combinações não testadas também podem funcionar.

validação de dados tensorflow feixe apache[gcp] Pyarrow fluxo tensor metadados de tensorflow transformação de tensorflow tfx-bsl
Mestre GitHub 2.47.0 10.0.0 todas as noites (1.x/2.x) 1.14.0 n / D 1.14.0
1.14.0 2.47.0 10.0.0 2.13 1.14.0 n / D 1.14.0
1.13.0 2.40.0 6.0.0 2.12 1.13.1 n / D 1.13.0
1.12.0 2.40.0 6.0.0 2.11 1.12.0 n / D 1.12.0
1.11.0 2.40.0 6.0.0 1,15 / 2,10 1.11.0 n / D 1.11.0
1.10.0 2.40.0 6.0.0 1,15 / 2,9 1.10.0 n / D 1.10.1
1.9.0 2.38.0 5.0.0 1,15 / 2,9 1.9.0 n / D 1.9.0
1.8.0 2.38.0 5.0.0 1,15 / 2,8 1.8.0 n / D 1.8.0
1.7.0 2.36.0 5.0.0 1,15 / 2,8 1.7.0 n / D 1.7.0
1.6.0 2.35.0 5.0.0 1,15 / 2,7 1.6.0 n / D 1.6.0
1.5.0 2.34.0 2.0.0 1,15 / 2,7 1.5.0 n / D 1.5.0
1.4.0 2.32.0 2.0.0 1,15 / 2,6 1.4.0 n / D 1.4.0
1.3.0 2.32.0 2.0.0 1,15 / 2,6 1.2.0 n / D 1.3.0
1.2.0 2.31.0 2.0.0 1,15 / 2,5 1.2.0 n / D 1.2.0
1.1.1 2.29.0 2.0.0 1,15 / 2,5 1.1.0 n / D 1.1.1
1.1.0 2.29.0 2.0.0 1,15 / 2,5 1.1.0 n / D 1.1.0
1.0.0 2.29.0 2.0.0 1,15 / 2,5 1.0.0 n / D 1.0.0
0.30.0 2.28.0 2.0.0 1,15 / 2,4 0.30.0 n / D 0.30.0
0,29,0 2.28.0 2.0.0 1,15 / 2,4 0,29,0 n / D 0,29,0
0,28,0 2.28.0 2.0.0 1,15 / 2,4 0,28,0 n / D 0.28.1
0,27,0 2.27.0 2.0.0 1,15 / 2,4 0,27,0 n / D 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 / D
0.14.0 2.14.0 0.14.0 1.14 0.14.0 0.14.0 n / D
0.13.1 2.11.0 n / D 1.13 0.12.1 0.13.0 n / D
0.13.0 2.11.0 n / D 1.13 0.12.1 0.13.0 n / D
0.12.0 2.10.0 n / D 1.12 0.12.1 0.12.0 n / D
0.11.0 2.8.0 n / D 1.11 0.9.0 0.11.0 n / D
0.9.0 2.6.0 n / D 1,9 n / D n / D n / D

Questões

Direcione qualquer dúvida sobre como trabalhar com TF Data Validation para Stack Overflow usando a tag tensorflow-data-validation .