tensorflow/transform

Input pipeline framework

What it solves

TensorFlow Transform (TFT) addresses the problem of data preprocessing for machine learning models, specifically for operations that require a full pass over the entire dataset to calculate constants (like mean or vocabulary). It also prevents "training-serving skew" by ensuring that the exact same preprocessing logic is exported as a TensorFlow graph and used during both the training and serving phases.

How it works

TFT extends TensorFlow's standard batch-level manipulations to support full-dataset passes. It uses Apache Beam for efficient distributed computation and Apache Arrow for internal data representation to leverage vectorized numpy functions. The resulting transformations are then exported as a TensorFlow graph, allowing the preprocessing steps to be part of themodel's deployment pipeline.

Who it’s for

ML engineers and data scientists who use TensorFlow and need to perform complex, dataset-wide preprocessing (such as normalization or bucketization) on large-scale data.

Highlights

  • Prevents Skew: Uses a single TensorFlow graph for both training and serving to ensure consistency.
  • Distributed Processing: Powered by Apache Beam to handle large datasets across distributed systems.
  • Full-Pass Operations: Supports operations like calculating mean/standard deviation for normalization, generating vocabularies for string-to-integer conversion, and creating buckets based on data distribution.
  • Vectorized Performance: Utilizes Apache Arrow for efficient internal data handling.

Related

  • Project
  • Project
  • Project
  • Project
  • Project