#include <sparse_ops.h>

Reshapes a SparseTensor to represent values in a new dense shape.


This operation has the same semantics as reshape on the represented dense tensor. The input_indices are recomputed based on the requested new_shape.

If one component of new_shape is the special value -1, the size of that dimension is computed so that the total dense size remains constant. At most one component of new_shape can be -1. The number of dense elements implied by new_shape must be the same as the number of dense elements originally implied by input_shape.

Reshaping does not affect the order of values in the SparseTensor.

If the input tensor has rank R_in and N non-empty values, and new_shape has length R_out, then input_indices has shape [N, R_in], input_shape has length R_in, output_indices has shape [N, R_out], and output_shape has length R_out.


  • scope: A Scope object
  • input_indices: 2-D. N x R_in matrix with the indices of non-empty values in a SparseTensor.
  • input_shape: 1-D. R_in vector with the input SparseTensor's dense shape.
  • new_shape: 1-D. R_out vector with the requested new dense shape.


  • Output output_indices: 2-D. N x R_out matrix with the updated indices of non-empty values in the output SparseTensor.
  • Output output_shape: 1-D. R_out vector with the full dense shape of the output SparseTensor. This is the same as new_shape but with any -1 dimensions filled in.

Constructors and Destructors

SparseReshape(const ::tensorflow::Scope & scope, ::tensorflow::Input input_indices, ::tensorflow::Input input_shape, ::tensorflow::Input new_shape)

Public attributes


Public attributes


Operation operation


::tensorflow::Output output_indices


::tensorflow::Output output_shape

Public functions


  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input_indices,
  ::tensorflow::Input input_shape,
  ::tensorflow::Input new_shape