Tensor
Example:
  >>> nnz = 3
  >>> dims = [5, 5, 2, 3]
  >>> I = torch.cat([torch.randint(0, dims[0], size=(nnz,)),
                     torch.randint(0, dims[1], size=(nnz,))], 0).reshape(2, nnz)
  >>> V = torch.randn(nnz, dims[2], dims[3])
  >>> size = torch.Size(dims)
  >>> S = torch.sparse_coo_tensor(I, V, size)
  >>> S
  tensor(indices=tensor([[2, 0, 3],
                         [2, 4, 1]]),
         values=tensor([[[-0.6438, -1.6467,  1.4004],
                         [ 0.3411,  0.0918, -0.2312]],

                        [[ 0.5348,  0.0634, -2.0494],
                         [-0.7125, -1.0646,  2.1844]],

                        [[ 0.1276,  0.1874, -0.6334],
                         [-1.9682, -0.5340,  0.7483]]]),
         size=(5, 5, 2, 3), nnz=3, layout=torch.sparse_coo)

  # when sum over only part of sparse_dims, return a sparse tensor
  >>> torch.sparse.sum(S, [1, 3])
  tensor(indices=tensor([[0, 2, 3]]),
