TensorFlow Transform é uma biblioteca para pré-processamento de dados com TensorFlow. tf.Transform
é útil para dados que requerem passagem completa, como:
- Normalize um valor de entrada por média e desvio padrão.
- Converta strings em inteiros gerando um vocabulário sobre todos os valores de entrada.
- Converta números flutuantes em inteiros atribuindo-os a intervalos com base na distribuição de dados observada.
O TensorFlow tem suporte integrado para manipulações em um único exemplo ou em um lote de exemplos. tf.Transform
estende esses recursos para oferecer suporte a passagens completas nos dados de exemplo.
A saída de tf.Transform
é exportada como um gráfico do TensorFlow para uso em treinamento e veiculação. Usar o mesmo gráfico para treinamento e saque pode evitar distorções, pois as mesmas transformações são aplicadas em ambos os estágios.
Para uma introdução ao tf.Transform
, consulte a seção tf.Transform
da palestra do TFX Dev Summit no TFX ( link ).
Instalação
O pacote PyPI tensorflow-transform
é a maneira recomendada de instalar tf.Transform
:
pip install tensorflow-transform
Construa o TFT a partir da fonte
Para compilar a partir do código-fonte, siga as seguintes etapas: Crie um ambiente virtual executando os comandos
python3 -m venv <virtualenv_name>
source <virtualenv_name>/bin/activate
pip3 install setuptools wheel
git clone https://github.com/tensorflow/transform.git
cd transform
python3 setup.py bdist_wheel
Isso criará a roda TFT no diretório dist. Para instalar o wheel do diretório dist execute os comandos
cd dist
pip3 install tensorflow_transform-<version>-py3-none-any.whl
Pacotes noturnos
O TFT também hospeda pacotes noturnos em https://pypi-nightly.tensorflow.org no Google Cloud. Para instalar o pacote noturno mais recente, use o seguinte comando:
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-transform
Isso instalará os pacotes noturnos para as principais dependências do TFT, como TensorFlow Metadata (TFMD), TFX Basic Shared Libraries (TFX-BSL).
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. O TFT usa Arrow para representar dados internamente, a fim de fazer uso de funções numpy vetorizadas.
Versões compatíveis
A tabela a seguir mostra as versões do pacote tf.Transform
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.
transformação de tensorflow | feixe apache[gcp] | Pyarrow | fluxo tensor | metadados de tensorflow | tfx-bsl |
---|---|---|---|---|---|
Mestre GitHub | 2.47.0 | 10.0.0 | todas as noites (2.x) | 1.15.0 | 1.15.1 |
1.15.0 | 2.47.0 | 10.0.0 | 2.15 | 1.15.0 | 1.15.1 |
1.14.0 | 2.47.0 | 10.0.0 | 2.13 | 1.14.0 | 1.14.0 |
1.13.0 | 2.41.0 | 6.0.0 | 2.12 | 1.13.1 | 1.13.0 |
1.12.0 | 2.41.0 | 6.0.0 | 2.11 | 1.12.0 | 1.12.0 |
1.11.0 | 2.41.0 | 6.0.0 | 1.15.5 / 2.10 | 1.11.0 | 1.11.0 |
1.10.0 | 2.40.0 | 6.0.0 | 1.15.5 / 2.9 | 1.10.0 | 1.10.0 |
1.9.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.9 | 1.9.0 | 1.9.0 |
1.8.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.8 | 1.8.0 | 1.8.0 |
1.7.0 | 2.36.0 | 5.0.0 | 1.15.5 / 2.8 | 1.7.0 | 1.7.0 |
1.6.1 | 2.35.0 | 5.0.0 | 1.15.5 / 2.8 | 1.6.0 | 1.6.0 |
1.6.0 | 2.35.0 | 5.0.0 | 1.15.5 / 2.7 | 1.6.0 | 1.6.0 |
1.5.0 | 2.34.0 | 5.0.0 | 1.15.2 / 2.7 | 1.5.0 | 1.5.0 |
1.4.1 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
1.4.0 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
1.3.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.6 | 1.2.0 | 1.3.0 |
1.2.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.5 | 1.2.0 | 1.2.0 |
1.1.1 | 2.29.0 | 2.0.0 | 1.15.2 / 2.5 | 1.1.0 | 1.1.1 |
1.1.0 | 2.29.0 | 2.0.0 | 1.15.2 / 2.5 | 1.1.0 | 1.1.0 |
1.0.0 | 2.29.0 | 2.0.0 | 1,15 / 2,5 | 1.0.0 | 1.0.0 |
0.30.0 | 2.28.0 | 2.0.0 | 1,15 / 2,4 | 0.30.0 | 0.30.0 |
0,29,0 | 2.28.0 | 2.0.0 | 1,15 / 2,4 | 0,29,0 | 0,29,0 |
0,28,0 | 2.28.0 | 2.0.0 | 1,15 / 2,4 | 0,28,0 | 0.28.1 |
0,27,0 | 2.27.0 | 2.0.0 | 1,15 / 2,4 | 0,27,0 | 0,27,0 |
0,26,0 | 2.25.0 | 0.17.0 | 1,15 / 2,3 | 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.24.1 | 2.24.0 | 0.17.0 | 1,15 / 2,3 | 0,24,0 | 0.24.1 |
0,24,0 | 2.23.0 | 0.17.0 | 1,15 / 2,3 | 0,24,0 | 0,24,0 |
0.23.0 | 2.23.0 | 0.17.0 | 1,15 / 2,3 | 0.23.0 | 0.23.0 |
0.22.0 | 2.20.0 | 0.16.0 | 1,15 / 2,2 | 0.22.0 | 0.22.0 |
0.21.2 | 2.17.0 | 0.15.0 | 1,15 / 2,1 | 0.21.0 | 0.21.3 |
0.21.0 | 2.17.0 | 0.15.0 | 1,15 / 2,1 | 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.14.0 | 2.14.0 | 0.14.0 | 1.14 | 0.14.0 | n / D |
0.13.0 | 2.11.0 | n / D | 1.13 | 0.12.1 | n / D |
0.12.0 | 2.10.0 | n / D | 1.12 | 0.12.0 | n / D |
0.11.0 | 2.8.0 | n / D | 1.11 | 0.9.0 | n / D |
0.9.0 | 2.6.0 | n / D | 1,9 | 0.9.0 | n / D |
0.8.0 | 2.5.0 | n / D | 1,8 | n / D | n / D |
0.6.0 | 2.4.0 | n / D | 1.6 | n / D | n / D |
0.5.0 | 2.3.0 | n / D | 1,5 | n / D | n / D |
0.4.0 | 2.2.0 | n / D | 1.4 | n / D | n / D |
0.3.1 | 2.1.1 | n / D | 1.3 | n / D | n / D |
0.3.0 | 2.1.1 | n / D | 1.3 | n / D | n / D |
0.1.10 | 2.0.0 | n / D | 1,0 | n / D | n / D |
Questões
Direcione qualquer dúvida sobre como trabalhar com tf.Transform
para Stack Overflow usando a tag tensorflow-transform .