tensorflow::ops::TakeManySparseFromTensorsMap

#include <sparse_ops.h>

Converts a sparse representation into a dense tensor.

Summary

Builds an array dense with shape output_shape such that

If sparse_indices is scalar

dense[i] = (i == sparse_indices ? sparse_values : default_value)

If sparse_indices is a vector, then for each i

dense[sparse_indices[i]] = sparse_values[i]

If sparse_indices is an n by d matrix, then for each i in [0, n)

dense[sparse_indices[i][0], ..., sparse_indices[i][d-1]] = sparse_values[i]

  
    All other values in `dense` are set to `default_value`.  If `sparse_values` is a
    scalar, all sparse indices are set to this single value.
  
  
        Indices should be sorted in lexicographic order, and indices must not
    contain any repeats. If `validate_indices` is true, these properties
    are checked during execution.
  
  
        Arguments:
    * scope: A Scope object
    * sparse_indices: 0-D, 1-D, or 2-D.  `sparse_indices[i]` contains the complete
    index where `sparse_values[i]` will be placed.
    * output_shape: 1-D.  Shape of the dense output tensor.
    * sparse_values: 1-D.  Values corresponding to each row of `sparse_indices`,
    or a scalar value to be used for all sparse indices.
    * default_value: Scalar value to set for indices not specified in
    `sparse_indices`.
  
  
        Optional attributes (see `Attrs`):
    * validate_indices: If true, indices are checked to make sure they are sorted in
    lexicographic order and that there are no repeats.
  
  
        Returns:
    * `Output`: Dense output tensor of shape `output_shape`. */
class SparseToDense {
 public:
  /// Optional attribute setters for SparseToDense
  struct Attrs {
    /** If true, indices are checked to make sure they are sorted in
        lexicographic order and that there are no repeats.
  
  
            Defaults to true */
    TF_MUST_USE_RESULT Attrs ValidateIndices(bool x) {
      Attrs ret = *this;
      ret.validate_indices_ = x;
      return ret;
    }
  
  
        bool validate_indices_ = true;
  };
  SparseToDense(const tensorflow::Scope& scope, tensorflow::Input
              sparse_indices, tensorflow::Input output_shape,
              tensorflow::Input sparse_values, tensorflow::Input
              default_value);
  SparseToDense(const tensorflow::Scope& scope, tensorflow::Input
              sparse_indices, tensorflow::Input output_shape,
              tensorflow::Input sparse_values, tensorflow::Input
              default_value, const SparseToDense::Attrs& attrs);
  operator ::tensorflow::Output() const { return dense; }
  operator ::tensorflow::Input() const { return dense; }
  ::tensorflow::Node* node() const { return dense.node(); }
  
  
      static Attrs ValidateIndices(bool x) {
    return Attrs().ValidateIndices(x);
  }
  
  
    Operation operation;
  tensorflow::Output dense;
};
  
  
    /** Read `SparseTensors` from a `SparseTensorsMap` and concatenate them.
  
  
        The input `sparse_handles` must be an `int64` matrix of shape `[N, 1]` where
    `N` is the minibatch size and the rows correspond to the output handles of
    `AddSparseToTensorsMap` or `AddManySparseToTensorsMap`.  The ranks of the
    original `SparseTensor` objects that went into the given input ops must all
    match.  When the final `SparseTensor` is created, it has rank one
    higher than the ranks of the incoming `SparseTensor` objects
    (they have been concatenated along a new row dimension on the left).
  
  
        The output `SparseTensor` object's shape values for all dimensions but the
    first are the max across the input `SparseTensor` objects' shape values
    for the corresponding dimensions.  Its first shape value is `N`, the minibatch
    size.
  
  
        The input `SparseTensor` objects' indices are assumed ordered in
    standard lexicographic order.  If this is not the case, after this
    step run `SparseReorder` to restore index ordering.
  
  
        For example, if the handles represent an input, which is a `[2, 3]` matrix
    representing two original `SparseTensor` objects:
  
   index = [ 0] [10] [20] values = [1, 2, 3] shape = [50] 
  
        and
  
   index = [ 2] [10] values = [4, 5] shape = [30] 
  
        then the final `SparseTensor` will be:
  
   index = [0 0] [0 10] [0 20] [1 2] [1 10] values = [1, 2, 3, 4, 5] shape = [2 50] ```
  Arguments:
  • scope: A Scope object
  • sparse_handles: 1-D, The N serialized SparseTensor objects. Shape: [N].
  • dtype: The dtype of the SparseTensor objects stored in the SparseTensorsMap.

Optional attributes (see Attrs):

  • container: The container name for the SparseTensorsMap read by this op.
  • shared_name: The shared name for the SparseTensorsMap read by this op. It should not be blank; rather the shared_name or unique Operation name of the Op that created the original SparseTensorsMap should be used.

Returns:

  • Output sparse_indices: 2-D. The indices of the minibatch SparseTensor.
  • Output sparse_values: 1-D. The values of the minibatch SparseTensor.
  • Output sparse_shape: 1-D. The shape of the minibatch SparseTensor.
Constructors and Destructors
TakeManySparseFromTensorsMap(const ::tensorflow::Scope & scope, ::tensorflow::Input sparse_handles, DataType dtype)
TakeManySparseFromTensorsMap(const ::tensorflow::Scope & scope, ::tensorflow::Input sparse_handles, DataType dtype, const TakeManySparseFromTensorsMap::Attrs & attrs)
Public attributes
operation
sparse_indices
sparse_shape
sparse_values
Public static functions
Container(StringPiece x)
SharedName(StringPiece x)
Structs
tensorflow::ops::TakeManySparseFromTensorsMap::Attrs

Optional attribute setters for TakeManySparseFromTensorsMap.

Public attributes

operation

Operation operation

sparse_indices

::tensorflow::Output sparse_indices

sparse_shape

::tensorflow::Output sparse_shape

sparse_values

::tensorflow::Output sparse_values

Public functions

TakeManySparseFromTensorsMap

 TakeManySparseFromTensorsMap(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input sparse_handles,
  DataType dtype
)

TakeManySparseFromTensorsMap

 TakeManySparseFromTensorsMap(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input sparse_handles,
  DataType dtype,
  const TakeManySparseFromTensorsMap::Attrs & attrs
)

Public static functions

Container

Attrs Container(
  StringPiece x
)

SharedName

Attrs SharedName(
  StringPiece x
)

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/take-many-sparse-from-tensors-map