Scale a numerical column into a predefined range on a per-key basis.

x A numeric Tensor or SparseTensor.
key A Tensor or SparseTensor of dtype tf.string. Must meet one of the following conditions:

  1. key is None
  2. Both x and key are dense,
  3. Both x and key are sparse and key must exactly match x in everything except values,
  4. The axis=1 index of each x matches its index of dense key.
output_min The minimum of the range of output values.
output_max The maximum of the range of output values.
elementwise If true, scale each element of the tensor independently.
key_vocabulary_filename (Optional) The file name for the per-key file. If None, this combiner will assume the keys fit in memory and will not store the analyzer result in a file. If '', a file name will be chosen based on the current TensorFlow scope. If not '', it should be unique within a given preprocessing function.
name (Optional) A name for this operation.

A Tensor or SparseTensor containing the input column scaled to [output_min, output_max] on a per-key basis if a key is provided. If the analysis dataset is empty or contains a single distinct value, then x is scaled using a sigmoid function.

ValueError If output_min, output_max have the wrong order.
NotImplementedError If elementwise is True and key is not None.
InvalidArgumentError If indices of sparse x and key do not match.