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