reshape¶
- paddle.sparse. reshape ( x, shape, name=None ) [source]
- 
         Changes the shape of xwithout changing its value, requiring x to be a SparseCooTensor or SparseCsrTensor. Currently this function can only reshape the sparse dims ofx, butshapeargument must be specified as the shape of the reshaped tensor.Note that if x is a SparseCsrTensor, then len(shape) must be 2 or 3. There are some tricks when specifying the target shape. - 
             - -1 means the value of this dimension is inferred from the total element number of x and remaining dimensions. Thus one and only one dimension can be set -1. 
 
- 
             - 0 means the actual dimension value is going to be copied from the corresponding dimension of x. The indices of 0 in the target shape can not exceed the rank of x. 
 
 Here are some examples to explain it. - 
             - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape is [6, 8], the reshape operator will transform x into a 2-D tensor with shape [6, 8] and leaving x’s data unchanged. 
 
- 
             - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape is [2, 3, -1, 2], the reshape operator will transform x into a 4-D tensor with shape [2, 3, 4, 2] and leaving x’s data unchanged. In this case, one dimension of the target shape is set to -1, the value of this dimension is inferred from the total element number of x and remaining dimensions. 
 
- 
             - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape is [-1, 0, 3, 2], the reshape operator will transform x into a 4-D tensor with shape [2, 4, 3, 2] and leaving x’s data unchanged. In this case, besides -1, 0 means the actual dimension value is going to be copied from the corresponding dimension of x. 
 
 - Parameters
- 
           - x (Tensor) – The input sparse tensor with data type - float32,- float64,- int32,- int64or- bool.
- shape (list|tuple) – Define the target shape. At most one dimension of the target shape can be -1. The data type is - int32.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
           A reshaped Tensor with the same data type as x.
- Return type
- 
           Tensor 
 Examples import paddle x_shape = [6, 2, 3] new_shape = [1, 0, 2, -1, 3] format = "coo" dense_x = paddle.randint(-100, 100, x_shape) * paddle.randint(0, 2, x_shape) if format == "coo": sp_x = dense_x.to_sparse_coo(len(x_shape)) else: sp_x = dense_x.to_sparse_csr() sp_out = paddle.sparse.reshape(sp_x, new_shape) print(sp_out) # the shape of sp_out is [1, 2, 2, 3, 3] 
- 
             
