Append sparse float tensor

Hi.

I want to append sparse flaot tensor.

t0 = torch.FloatTensor([0.0,1.0,2.0]).to_sparse()
t1 = torch.FloatTensor([3.0,4.0,5.0]).to_sparse()
t2 = torch.cat([t0,t1])    # want [[0,1,2],[3,4,5]] but got [0,1,2,3,4,5]
#t2 = t2.reshape(2,3)      # got "reshape is not implemented for sparse tensors"

Are there something way to get [[0,1,2],[3,4,5]] ?
Thanks.

Based on your desired output, Iā€™m not sure if a sparse tensor is really what you are looking for, as it looks like you would just like to stack both tensors.
However, would this work for you:

t2 = torch.stack([t0,t1]) 
tensor(indices=tensor([[0, 0, 1, 1, 1],
                       [1, 2, 0, 1, 2]]),
       values=tensor([1., 2., 3., 4., 5.]),
       size=(2, 3), nnz=5, layout=torch.sparse_coo)
1 Like

I solved it by myself.

t0 = torch.FloatTensor([[0.0,1.0,2.0]]).to_sparse() # not "[0,1,2]" but "[[0,1,2]]"
t1 = torch.FloatTensor([[3.0,4.0,5.0]]).to_sparse()
t2 = torch.cat([t0,t1])    # [[0,1,2],[3,4,5]] 

I misunderstood ā€œ3ā€ is ā€œ1x3ā€.

Thanks