Skip to content

Release 0.4.0

Compare
Choose a tag to compare
@elmer-garduno elmer-garduno released this 04 Dec 02:38
· 887 commits to master since this release

Major Features and Improvements

  • Added a combine_analyzer() that supports user provided combiner, conforming to
    beam.CombinFn(). This allows users to implement custom combiners
    (e.g. median), to complement analyzers (like min, max) that are
    prepackaged in TFT.
  • Quantiles Analyzer (tft.quantiles), with a corresponding tft.bucketize
    mapper.

Bug Fixes and Other Changes

  • Depends on apache-beam[gcp]>=2.2,<3.
  • Fixes some KeyError issues that appeared in certain circumstances when one
    would call AnalyzeAndTransformDataset (due to a now-fixed Apache Beam [bug]
    (https://issues.apache.org/jira/projects/BEAM/issues/BEAM-2966)).
  • Allow all functions that accept and return tensors, to accept an optional
    name scope, in line with TensorFlow coding conventions.
  • Update examples to construct input functions by hand instead of using helper
    functions.
  • Change scale_by_min_max/scale_to_0_1 to return the average(min, max) of the
    range in case all values are identical.
  • Added export of serving model to examples.
  • Use "core" version of feature columns (tf.feature_column instead of
    tf.contrib) in examples.
  • A few bug fixes and improvements for coders regarding Python 3.

Breaking changes

  • Requires pre-installed TensorFlow >= 1.4.
  • No longer distributing a WHL file in PyPI. Only doing a source distribution
    which should however be compatible with all platforms (ie you are still able
    to pip install tensorflow-transform and use requirements.txt or setup.py
    files for environment setup).
  • Some functions now introduce a new name scope when they did not before so the
    names of tensors may change. This will only affect you if you directly lookup
    tensors by name in the graph produced by tf.Transform.
  • Various Analyzer Specs (_NumericCombineSpec, _UniquesSpec, _QuantilesSpec)
    are now private. Analyzers are accessible only via the top-level TFT functions
    (min, max, sum, size, mean, var, uniques, quantiles).

Upcoming deprecations

  • The serving_input_fns on tensorflow_transform/saved/input_fn_maker.py will
    be removed on a future version and should not be used on new code,
    see the examples directory for details on how to migrate your code to define
    their own serving functions.