diff --git a/test/expect/TestSparseCompressedCPU.test_print_SparseBSC_cpu.expect b/test/expect/TestSparseCompressedCPU.test_print_SparseBSC_cpu.expect index 696fcbb08cf..7c0cccd56cd 100644 --- a/test/expect/TestSparseCompressedCPU.test_print_SparseBSC_cpu.expect +++ b/test/expect/TestSparseCompressedCPU.test_print_SparseBSC_cpu.expect @@ -1,6979 +1,3583 @@ -########## torch.float32/torch.int32/size=()+(3, 4)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], - [[ 4., 14.]]]), size=(3, 4), nnz=4, + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], dtype=torch.int32) # _values -tensor([[[ 1., 11.]], +tensor([[[[[1.], + [3.]], - [[ 2., 12.]], + [[2.], + [0.]], - [[ 3., 13.]], + [[0.], + [4.]]], - [[ 4., 14.]]]) -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]) + +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), size=(0, 0), nnz=0, +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([0], dtype=torch.int32) +tensor([0, 4, 7], dtype=torch.int32) # _row_indices -tensor([], dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], dtype=torch.int32) # _values -tensor([], size=(0, 1, 2)) +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], -########## torch.float32/torch.int32/size=(2,)+(6, 2)+() ########## + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]) + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[2.], - [3.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[3.], - [4.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], - [[4.], - [5.]]], + [[2.], + [0.]], + + [[0.], + [4.]]], - [[[5.], - [6.]], + [[[1.], + [4.]], - [[6.], - [7.]], + [[2.], + [0.]], - [[7.], - [8.]], + [[3.], + [0.]]], - [[8.], - [9.]]]]), size=(2, 6, 2), nnz=4, + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], dtype=torch.int32) +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], dtype=torch.int32) +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7], dtype=torch.int32) +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3], dtype=torch.int32) +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]) # _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]) # _values -tensor([[[[1.], - [2.]], +tensor([[[[[1.], + [3.]], - [[2.], - [3.]], + [[2.], + [0.]], - [[3.], - [4.]], - - [[4.], - [5.]]], + [[0.], + [4.]]], - [[[5.], - [6.]], + [[[1.], + [4.]], - [[6.], - [7.]], + [[2.], + [0.]], - [[7.], - [8.]], + [[3.], + [0.]]], - [[8.], - [9.]]]]) -########## torch.float32/torch.int32/size=(2, 3)+(9, 4)+() ########## + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]) + +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, + layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7]) +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3]) +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]) + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]) +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]) +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7]) +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3]) +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], dtype=torch.float64) + + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, + layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], dtype=torch.int32) +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], dtype=torch.int32) +# _values +tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]) + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), size=(2, 3, 9, 4), nnz=4, + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) +tensor([0, 4, 7], dtype=torch.int32) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], dtype=torch.int32) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]) + [26., 36.], + [27., 37.]]]]]) -########## torch.float64/torch.int32/size=()+(3, 4)+() ########## +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), size=(3, 4), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[ 1., 11.]], + [[3., 4., 5., 6.]]], - [[ 2., 12.]], - [[ 3., 13.]], + [[[2., 3., 4., 5.]], - [[ 4., 14.]]], dtype=torch.float64) + [[0., 0., 0., 0.]]], -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), size=(0, 0), nnz=0, + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([0], dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], dtype=torch.int32) # _row_indices -tensor([], dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], dtype=torch.int32) # _values -tensor([], size=(0, 1, 2), dtype=torch.float64) +tensor([[[[[[1., 2., 3., 4.]], -########## torch.float64/torch.int32/size=(2,)+(6, 2)+() ########## + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), size=(2, 6, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), size=(2, 3, 9, 4), nnz=4, + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) +tensor([0, 4, 7], dtype=torch.int32) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], dtype=torch.int32) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], dtype=torch.float64) + [26., 36.], + [27., 37.]]]]], dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(3, 4)+() ########## +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), size=(3, 4), nnz=4, + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4]) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]) # _row_indices -tensor([0, 1, 0, 2]) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]) # _values -tensor([[[ 1., 11.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12.]], + [[3., 4., 5., 6.]]], - [[ 3., 13.]], - [[ 4., 14.]]]) + [[[2., 3., 4., 5.]], -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]) + +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), size=(0, 0), nnz=0, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0]) -# _row_indices -tensor([], dtype=torch.int64) -# _values -tensor([], size=(0, 1, 2)) +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], -########## torch.float32/torch.int64/size=(2,)+(6, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), size=(2, 6, 2), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]) - -########## torch.float32/torch.int64/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), size=(2, 3, 9, 4), nnz=4, + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) +tensor([0, 4, 7]) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) +tensor([0, 1, 2, 3, 0, 2, 3]) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]) + [26., 36.], + [27., 37.]]]]]) -########## torch.float64/torch.int64/size=()+(3, 4)+() ########## +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), size=(3, 4), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[ 1., 11.]], + [[3., 4., 5., 6.]]], - [[ 2., 12.]], - [[ 3., 13.]], + [[[2., 3., 4., 5.]], - [[ 4., 14.]]], dtype=torch.float64) + [[0., 0., 0., 0.]]], -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), size=(0, 0), nnz=0, + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([0]) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]) # _row_indices -tensor([], dtype=torch.int64) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]) # _values -tensor([], size=(0, 1, 2), dtype=torch.float64) +tensor([[[[[[1., 2., 3., 4.]], -########## torch.float64/torch.int64/size=(2,)+(6, 2)+() ########## + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), size=(2, 6, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), size=(2, 3, 9, 4), nnz=4, + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) +tensor([0, 4, 7]) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) +tensor([0, 1, 2, 3, 0, 2, 3]) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int32/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), size=(6, 6, 2), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]) - -########## torch.float32/torch.int32/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), size=(9, 4, 4, 2), - nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]) - -########## torch.float32/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]) - - -########## torch.float64/torch.int32/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), size=(6, 6, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), size=(9, 4, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), size=(6, 6, 2), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]) - -########## torch.float32/torch.int64/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), size=(9, 4, 4, 2), - nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]) - -########## torch.float32/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]) - - -########## torch.float64/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), size=(6, 6, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), size=(9, 4, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], dtype=torch.float64) + [26., 36.], + [27., 37.]]]]], dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCPU.test_print_SparseBSR_cpu.expect b/test/expect/TestSparseCompressedCPU.test_print_SparseBSR_cpu.expect index 267056b76e6..8fe3223332b 100644 --- a/test/expect/TestSparseCompressedCPU.test_print_SparseBSR_cpu.expect +++ b/test/expect/TestSparseCompressedCPU.test_print_SparseBSR_cpu.expect @@ -1,6945 +1,3583 @@ -########## torch.float32/torch.int32/size=()+(4, 3)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[2.], - [3.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[3.], - [4.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[4.], - [5.]]]), size=(4, 3), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[1.], - [2.]], + [[2.], + [0.]], - [[2.], - [3.]], + [[0.], + [4.]]], - [[3.], - [4.]], - [[4.], - [5.]]]) + [[[1.], + [4.]], -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), size=(0, 0), nnz=0, + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([0], dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], dtype=torch.int32) # _col_indices -tensor([], dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], dtype=torch.int32) # _values -tensor([], size=(0, 2, 1)) +tensor([[[[[1.], + [3.]], -########## torch.float32/torch.int32/size=(2,)+(2, 6)+() ########## + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]) + +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + [[10., 11., 12.], + [15., 16., 17.]], - [[[ 5., 15.]], + [[ 0., 0., 0.], + [20., 21., 22.]], - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]), size=(2, 2, 6), nnz=4, + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) +tensor([0, 2, 3, 5, 7], dtype=torch.int32) # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], dtype=torch.int32) # _values -tensor([[[[ 1., 11.]], +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]) - [[[ 5., 15.]], - - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]) - -########## torch.float32/torch.int32/size=(2, 3)+(4, 9)+() ########## +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[2.], + [0.]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], + [[0.], + [4.]]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[[1.], + [4.]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[2.], + [0.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], + [[3.], + [0.]]], - [[ 7., 17., 27.], - [ 8., 18., 28.]], - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[[1.], + [2.]], + [[0.], + [3.]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[0.], + [4.]]]], - [[10., 20., 30.], - [11., 21., 31.]], - [[11., 21., 31.], - [12., 22., 32.]], - [[12., 22., 32.], - [13., 23., 33.]]]], + [[[[0.], + [2.]], + [[1.], + [3.]], + [[0.], + [4.]]], - [[[[13., 23., 33.], - [14., 24., 34.]], - [[14., 24., 34.], - [15., 25., 35.]], + [[[1.], + [3.]], - [[15., 25., 35.], - [16., 26., 36.]], + [[0.], + [4.]], - [[16., 26., 36.], - [17., 27., 37.]]], + [[2.], + [0.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[1.], + [0.]], - [[18., 28., 38.], - [19., 29., 39.]], + [[2.], + [4.]], - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]), size=(2, 3, 4, 9), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]) - - -########## torch.float64/torch.int32/size=()+(4, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]), size=(4, 3), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), size=(0, 0), nnz=0, + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0], dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], dtype=torch.int32) # _col_indices -tensor([], dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], dtype=torch.int32) # _values -tensor([], size=(0, 2, 1), dtype=torch.float64) +tensor([[[[[1.], + [3.]], -########## torch.float64/torch.int32/size=(2,)+(2, 6)+() ########## + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + [[10., 11., 12.], + [15., 16., 17.]], - [[[ 5., 15.]], + [[ 0., 0., 0.], + [20., 21., 22.]], - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]), size=(2, 2, 6), nnz=4, + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) +tensor([0, 2, 3, 5, 7], dtype=torch.int32) # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], dtype=torch.int32) # _values -tensor([[[[ 1., 11.]], +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], dtype=torch.float64) - [[[ 5., 15.]], - - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(4, 9)+() ########## +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[2.], + [0.]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], + [[0.], + [4.]]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[[1.], + [4.]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[2.], + [0.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], + [[3.], + [0.]]], - [[ 7., 17., 27.], - [ 8., 18., 28.]], - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[[1.], + [2.]], + [[0.], + [3.]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[0.], + [4.]]]], - [[10., 20., 30.], - [11., 21., 31.]], - [[11., 21., 31.], - [12., 22., 32.]], - [[12., 22., 32.], - [13., 23., 33.]]]], + [[[[0.], + [2.]], + [[1.], + [3.]], + [[0.], + [4.]]], - [[[[13., 23., 33.], - [14., 24., 34.]], - [[14., 24., 34.], - [15., 25., 35.]], + [[[1.], + [3.]], - [[15., 25., 35.], - [16., 26., 36.]], + [[0.], + [4.]], - [[16., 26., 36.], - [17., 27., 37.]]], + [[2.], + [0.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[1.], + [0.]], - [[18., 28., 38.], - [19., 29., 39.]], + [[2.], + [4.]], - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]), size=(2, 3, 4, 9), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(4, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]), size=(4, 3), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]) - -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), size=(0, 0), nnz=0, + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([0]) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]) # _col_indices -tensor([], dtype=torch.int64) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]) # _values -tensor([], size=(0, 2, 1)) +tensor([[[[[1.], + [3.]], -########## torch.float32/torch.int64/size=(2,)+(2, 6)+() ########## + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]) + +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + [[10., 11., 12.], + [15., 16., 17.]], - [[[ 5., 15.]], + [[ 0., 0., 0.], + [20., 21., 22.]], - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]), size=(2, 2, 6), nnz=4, + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]]) +tensor([0, 2, 3, 5, 7]) # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) +tensor([0, 1, 0, 0, 1, 0, 1]) # _values -tensor([[[[ 1., 11.]], +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[ 2., 12.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[ 3., 13.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 4., 14.]]], + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]) - [[[ 5., 15.]], - - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]) - -########## torch.float32/torch.int64/size=(2, 3)+(4, 9)+() ########## +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[2.], + [0.]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[0.], + [4.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[[1.], + [4.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], + [[2.], + [0.]], - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[3.], + [0.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[1.], + [2.]], - [[10., 20., 30.], - [11., 21., 31.]], + [[0.], + [3.]], - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], + [[0.], + [4.]]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[[0.], + [2.]], - [[14., 24., 34.], - [15., 25., 35.]], + [[1.], + [3.]], - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], + [[0.], + [4.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[1.], + [3.]], - [[18., 28., 38.], - [19., 29., 39.]], + [[0.], + [4.]], - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], + [[2.], + [0.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[1.], + [0.]], - [[22., 32., 42.], - [23., 33., 43.]], + [[2.], + [4.]], - [[23., 33., 43.], - [24., 34., 44.]], + [[3.], + [0.]]]]]), size=(2, 3, 2, 3), nnz=3, + dtype=torch.float64, layout=torch.sparse_bsr) +# _crow_indices +tensor([[[0, 3], + [0, 3], + [0, 3]], - [[24., 34., 44.], - [25., 35., 45.]]]]]), size=(2, 3, 4, 9), nnz=4, + [[0, 3], + [0, 3], + [0, 3]]]) +# _col_indices +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]) +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## +# sparse tensor +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), size=(8, 6), nnz=7, + dtype=torch.float64, layout=torch.sparse_bsr) +# _crow_indices +tensor([0, 2, 3, 5, 7]) +# _col_indices +tensor([0, 1, 0, 0, 1, 0, 1]) +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], dtype=torch.float64) + + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## +# sparse tensor +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) + [[0, 3], + [0, 3], + [0, 3]]], dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], dtype=torch.int32) # _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[3., 4., 5., 6.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[[2., 3., 4., 5.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[0., 0., 0., 0.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[0., 0., 0., 0.]], - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], + [[4., 5., 6., 7.]]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[[1., 2., 3., 4.]], - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], + [[4., 5., 6., 7.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[2., 3., 4., 5.]], - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], + [[0., 0., 0., 0.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[3., 4., 5., 6.]], - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]) + [[0., 0., 0., 0.]]]], -########## torch.float64/torch.int64/size=()+(4, 3)+() ########## + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]) + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.], - [3.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[3.], - [4.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[4.], - [5.]]]), size=(4, 3), nnz=4, dtype=torch.float64, + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4]) +tensor([0, 2, 3, 5, 7], dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2]) +tensor([0, 1, 0, 0, 1, 0, 1], dtype=torch.int32) # _values -tensor([[[1.], - [2.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.], - [3.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[3.], - [4.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[4.], - [5.]]], dtype=torch.float64) -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]) + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), size=(0, 0), nnz=0, +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0]) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], dtype=torch.int32) # _col_indices -tensor([], dtype=torch.int64) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], dtype=torch.int32) # _values -tensor([], size=(0, 2, 1), dtype=torch.float64) +tensor([[[[[[1., 2., 3., 4.]], -########## torch.float64/torch.int64/size=(2,)+(2, 6)+() ########## + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 13.]], - - [[ 4., 14.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 5., 15.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 7., 17.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 8., 18.]]]]), size=(2, 2, 6), nnz=4, + + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]]) +tensor([0, 2, 3, 5, 7], dtype=torch.int32) # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) +tensor([0, 1, 0, 0, 1, 0, 1], dtype=torch.int32) # _values -tensor([[[[ 1., 11.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 13.]], - - [[ 4., 14.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 5., 15.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 7., 17.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 8., 18.]]]], dtype=torch.float64) -########## torch.float64/torch.int64/size=(2, 3)+(4, 9)+() ########## + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[3., 4., 5., 6.]]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[[2., 3., 4., 5.]], + [[0., 0., 0., 0.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], + [[[0., 0., 0., 0.]], - [[ 7., 17., 27.], - [ 8., 18., 28.]], + [[4., 5., 6., 7.]]]], - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[[1., 2., 3., 4.]], - [[10., 20., 30.], - [11., 21., 31.]], + [[4., 5., 6., 7.]]], - [[11., 21., 31.], - [12., 22., 32.]], - [[12., 22., 32.], - [13., 23., 33.]]]], + [[[2., 3., 4., 5.]], + [[0., 0., 0., 0.]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[3., 4., 5., 6.]], - [[14., 24., 34.], - [15., 25., 35.]], + [[0., 0., 0., 0.]]]], - [[15., 25., 35.], - [16., 26., 36.]], - [[16., 26., 36.], - [17., 27., 37.]]], + [[[[1., 2., 3., 4.]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[2., 3., 4., 5.]]], - [[18., 28., 38.], - [19., 29., 39.]], - [[19., 29., 39.], - [20., 30., 40.]], + [[[0., 0., 0., 0.]], - [[20., 30., 40.], - [21., 31., 41.]]], + [[3., 4., 5., 6.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[0., 0., 0., 0.]], - [[22., 32., 42.], - [23., 33., 43.]], + [[4., 5., 6., 7.]]]]], - [[23., 33., 43.], - [24., 34., 44.]], - [[24., 34., 44.], - [25., 35., 45.]]]]]), size=(2, 3, 4, 9), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[[[[0., 0., 0., 0.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[2., 3., 4., 5.]]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[[1., 2., 3., 4.]], + [[3., 4., 5., 6.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], + [[[0., 0., 0., 0.]], - [[ 7., 17., 27.], - [ 8., 18., 28.]], + [[4., 5., 6., 7.]]]], - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[[1., 2., 3., 4.]], - [[10., 20., 30.], - [11., 21., 31.]], + [[3., 4., 5., 6.]]], - [[11., 21., 31.], - [12., 22., 32.]], - [[12., 22., 32.], - [13., 23., 33.]]]], + [[[0., 0., 0., 0.]], + [[4., 5., 6., 7.]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[2., 3., 4., 5.]], - [[14., 24., 34.], - [15., 25., 35.]], + [[0., 0., 0., 0.]]]], - [[15., 25., 35.], - [16., 26., 36.]], - [[16., 26., 36.], - [17., 27., 37.]]], + [[[[1., 2., 3., 4.]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[0., 0., 0., 0.]]], - [[18., 28., 38.], - [19., 29., 39.]], - [[19., 29., 39.], - [20., 30., 40.]], + [[[2., 3., 4., 5.]], - [[20., 30., 40.], - [21., 31., 41.]]], + [[4., 5., 6., 7.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[3., 4., 5., 6.]], - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int32/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]), size=(6, 6, 2), nnz=4, + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]) # _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]) # _values -tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], + [[3., 4., 5., 6.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[2., 3., 4., 5.]], - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], + [[0., 0., 0., 0.]]], - [[[ 3., 103.], - [ 13., 113.]], + [[[0., 0., 0., 0.]], - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], + [[4., 5., 6., 7.]]]], - [[[ 4., 104.], - [ 14., 114.]], - [[ 5., 105.], - [ 15., 115.]], + [[[[1., 2., 3., 4.]], - [[ 6., 106.], - [ 16., 116.]]]]) + [[4., 5., 6., 7.]]], -########## torch.float32/torch.int32/size=()+(4, 9)+(4, 2) ########## + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]) + +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), size=(4, 9, 4, 2), - nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]) + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], -########## torch.float32/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - [[ 11.], - [111.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 3.], - [103.]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[ 13.], - [113.]]]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[ 3.], - [103.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) +tensor([0, 2, 3, 5, 7]) # _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1]) # _values -tensor([[[[[[[ 1.], - [101.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 11.], - [111.]]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[[ 3.], - [103.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 13.], - [113.]]]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[ 3.], - [103.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 13.], - [113.]]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 4.], - [104.]], - [[ 14.], - [114.]]]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[[[ 3.], - [103.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 14.], - [114.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 5.], - [105.]], - [[ 15.], - [115.]]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[[ 4.], - [104.]], - [[ 14.], - [114.]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 5.], - [105.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[ 15.], - [115.]]], - [[[ 6.], - [106.]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[ 16.], - [116.]]]]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], - [[[[[ 5.], - [105.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[ 15.], - [115.]]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[[ 6.], - [106.]], - [[ 16.], - [116.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 7.], - [107.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[ 17.], - [117.]]]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], - [[[[ 6.], - [106.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[ 16.], - [116.]]], - [[[ 7.], - [107.]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 17.], - [117.]]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[[ 8.], - [108.]], - [[ 18.], - [118.]]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]) - [[[[ 7.], - [107.]], - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]) - - -########## torch.float64/torch.int32/size=()+(6, 6)+(2,) ########## +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[ 2., 102.], - [ 12., 112.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[ 3., 103.], - [ 13., 113.]]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[2., 3., 4., 5.]], - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], + [[0., 0., 0., 0.]]], - [[[ 3., 103.], - [ 13., 113.]], + [[[0., 0., 0., 0.]], - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], + [[4., 5., 6., 7.]]]], - [[[ 4., 104.], - [ 14., 114.]], - [[ 5., 105.], - [ 15., 115.]], + [[[[1., 2., 3., 4.]], - [[ 6., 106.], - [ 16., 116.]]]]), size=(6, 6, 2), nnz=4, + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]) # _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]) # _values -tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], + [[3., 4., 5., 6.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[2., 3., 4., 5.]], - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], + [[0., 0., 0., 0.]]], - [[[ 3., 103.], - [ 13., 113.]], + [[[0., 0., 0., 0.]], - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], + [[4., 5., 6., 7.]]]], - [[[ 4., 104.], - [ 14., 114.]], - [[ 5., 105.], - [ 15., 115.]], + [[[[1., 2., 3., 4.]], - [[ 6., 106.], - [ 16., 116.]]]], dtype=torch.float64) + [[4., 5., 6., 7.]]], -########## torch.float64/torch.int32/size=()+(4, 9)+(4, 2) ########## + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), size=(4, 9, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], dtype=torch.float64) + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], -########## torch.float64/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - [[ 11.], - [111.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 3.], - [103.]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[ 13.], - [113.]]]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[ 3.], - [103.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), size=(8, 6, 4, 2), nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) +tensor([0, 2, 3, 5, 7]) # _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1]) # _values -tensor([[[[[[[ 1.], - [101.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 11.], - [111.]]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[[ 3.], - [103.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 13.], - [113.]]]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[ 3.], - [103.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 13.], - [113.]]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 4.], - [104.]], - [[ 14.], - [114.]]]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[[[ 3.], - [103.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 14.], - [114.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 5.], - [105.]], - [[ 15.], - [115.]]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[[ 4.], - [104.]], - [[ 14.], - [114.]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 5.], - [105.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[ 15.], - [115.]]], - [[[ 6.], - [106.]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[ 16.], - [116.]]]]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], - [[[[[ 5.], - [105.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[ 15.], - [115.]]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[[ 6.], - [106.]], - [[ 16.], - [116.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 7.], - [107.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[ 17.], - [117.]]]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], - [[[[ 6.], - [106.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[ 16.], - [116.]]], - [[[ 7.], - [107.]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 17.], - [117.]]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[[ 8.], - [108.]], - [[ 18.], - [118.]]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]), size=(6, 6, 2), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]) - -########## torch.float32/torch.int64/size=()+(4, 9)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), size=(4, 9, 4, 2), - nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]) - -########## torch.float32/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]) - - -########## torch.float64/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]), size=(6, 6, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(4, 9)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), size=(4, 9, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), size=(2, 3, 6, 6, 2, 1), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], dtype=torch.float64) + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCPU.test_print_SparseCSC_cpu.expect b/test/expect/TestSparseCompressedCPU.test_print_SparseCSC_cpu.expect index 15e9bb56a85..70c00eb95db 100644 --- a/test/expect/TestSparseCompressedCPU.test_print_SparseCSC_cpu.expect +++ b/test/expect/TestSparseCompressedCPU.test_print_SparseCSC_cpu.expect @@ -1,1411 +1,1653 @@ -########## torch.float32/torch.int32/size=()+(3, 2)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(3, 2), nnz=4, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([1., 2., 3., 4.]) +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0], dtype=torch.int32) -# _row_indices -tensor([], dtype=torch.int32) -# _values -tensor([]) - -########## torch.float32/torch.int32/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 3, 2), nnz=4, - layout=torch.sparse_csc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]) - -########## torch.float32/torch.int32/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 3, 2), nnz=4, + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]) + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]) - -########## torch.float64/torch.int32/size=()+(3, 2)+() ########## +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), size=(8, 6), nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], dtype=torch.float64) +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.]) -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, dtype=torch.float64, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0], dtype=torch.int32) -# _row_indices -tensor([], dtype=torch.int32) -# _values -tensor([], dtype=torch.float64) +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float64/torch.int32/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 3, 2), nnz=4, + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], dtype=torch.float64) + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], dtype=torch.float64) - -########## torch.float32/torch.int64/size=()+(3, 2)+() ########## +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(3, 2), nnz=4, +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), size=(8, 6), nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 8, 11, 14, 19, 24], dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2]) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + dtype=torch.int32) # _values -tensor([1., 2., 3., 4.]) +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0]) -# _row_indices -tensor([], dtype=torch.int64) -# _values -tensor([]) +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int64/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 3, 2), nnz=4, - layout=torch.sparse_csc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]) - -########## torch.float32/torch.int64/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 3, 2), nnz=4, + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]) + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]) - -########## torch.float64/torch.int64/size=()+(3, 2)+() ########## +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), size=(8, 6), nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 8, 11, 14, 19, 24]) # _row_indices -tensor([0, 1, 0, 2]) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7]) # _values -tensor([1., 2., 3., 4.], dtype=torch.float64) +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.]) -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, dtype=torch.float64, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0]) -# _row_indices -tensor([], dtype=torch.int64) -# _values -tensor([], dtype=torch.float64) +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float64/torch.int64/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 3, 2), nnz=4, + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], dtype=torch.float64) + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], dtype=torch.float64) - -########## torch.float32/torch.int32/size=()+(3, 2)+(2,) ########## +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(3, 2, 2), nnz=4, +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), size=(8, 6), nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24]) # _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7]) # _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]) +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], dtype=torch.float64) -########## torch.float32/torch.int32/size=()+(3, 2)+(4, 2) ########## + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), size=(2, 3, 2, 3, 4), nnz=4, + layout=torch.sparse_csc) +# _ccol_indices +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], dtype=torch.int32) +# _row_indices +tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], dtype=torch.int32) +# _values +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]) + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), size=(3, 2, 4, 2), nnz=4, + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + dtype=torch.int32) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float32/torch.int32/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]) + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 3, 2, 2, 1), nnz=4, - layout=torch.sparse_csc) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), size=(2, 3, 2, 3, 4), nnz=4, + dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]) - - -########## torch.float64/torch.int32/size=()+(3, 2)+(2,) ########## +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(3, 2, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], dtype=torch.float64) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], -########## torch.float64/torch.int32/size=()+(3, 2)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), size=(3, 2, 4, 2), nnz=4, + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + dtype=torch.int32) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], dtype=torch.float64) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float64/torch.int32/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 3, 2, 2, 1), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], dtype=torch.int32) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], dtype=torch.int32) -# _values -tensor([[[[[ 1.], - [ 2.]], - - [[ 2.], - [ 3.]], - - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], - - - [[[ 5.], - [ 6.]], - - [[ 6.], - [ 7.]], - - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(3, 2)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(3, 2, 2), nnz=4, + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]) +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int64/size=()+(3, 2)+(4, 2) ########## + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]) +# _row_indices +tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]) +# _values +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]) + +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), size=(3, 2, 4, 2), nnz=4, + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 8, 11, 14, 19, 24]) # _row_indices -tensor([0, 1, 0, 2]) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7]) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float32/torch.int64/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]) + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 3, 2, 2, 1), nnz=4, - layout=torch.sparse_csc) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), size=(2, 3, 2, 3, 4), nnz=4, + dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]) - - -########## torch.float64/torch.int64/size=()+(3, 2)+(2,) ########## +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(3, 2, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4]) -# _row_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], dtype=torch.float64) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], -########## torch.float64/torch.int64/size=()+(3, 2)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), size=(3, 2, 4, 2), nnz=4, + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 8, 11, 14, 19, 24]) # _row_indices -tensor([0, 1, 0, 2]) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7]) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], dtype=torch.float64) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float64/torch.int64/size=(2, 3)+(3, 2)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], - - [[ 2.], - [ 3.]], - - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], - - - [[[ 5.], - [ 6.]], - - [[ 6.], - [ 7.]], - - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 3, 2, 2, 1), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]) -# _values -tensor([[[[[ 1.], - [ 2.]], - - [[ 2.], - [ 3.]], - - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], - - - [[[ 5.], - [ 6.]], - - [[ 6.], - [ 7.]], - - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], dtype=torch.float64) + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCPU.test_print_SparseCSR_cpu.expect b/test/expect/TestSparseCompressedCPU.test_print_SparseCSR_cpu.expect index 3ab2e1135aa..f95a8a08199 100644 --- a/test/expect/TestSparseCompressedCPU.test_print_SparseCSR_cpu.expect +++ b/test/expect/TestSparseCompressedCPU.test_print_SparseCSR_cpu.expect @@ -1,48 +1,3 @@ -########## torch.float32/torch.int32/size=()+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(2, 3), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([1., 2., 3., 4.]) - -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, - layout=torch.sparse_csr) -# _crow_indices -tensor([0], dtype=torch.int32) -# _col_indices -tensor([], dtype=torch.int32) -# _values -tensor([]) - -########## torch.float32/torch.int32/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 2, 3), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]) - ########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], @@ -52,20 +7,20 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 2, 3), nnz=4, + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -76,7 +31,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -84,59 +39,31 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]) - -########## torch.float64/torch.int32/size=()+(2, 3)+() ########## +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), size=(8, 6), nnz=24, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], dtype=torch.float64) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.]) -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, dtype=torch.float64, - layout=torch.sparse_csr) -# _crow_indices -tensor([0], dtype=torch.int32) -# _col_indices -tensor([], dtype=torch.int32) -# _values -tensor([], dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], dtype=torch.int32) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], dtype=torch.float64) ########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -147,20 +74,20 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 2, 3), nnz=4, + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -171,7 +98,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -179,59 +106,32 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], dtype=torch.float64) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], dtype=torch.float64) - -########## torch.float32/torch.int64/size=()+(2, 3)+() ########## +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(2, 3), nnz=4, +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), size=(8, 6), nnz=24, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2]) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + dtype=torch.int32) # _values -tensor([1., 2., 3., 4.]) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, - layout=torch.sparse_csr) -# _crow_indices -tensor([0]) -# _col_indices -tensor([], dtype=torch.int64) -# _values -tensor([]) - -########## torch.float32/torch.int64/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 2, 3), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]) ########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -242,20 +142,20 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 2, 3), nnz=4, + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -266,7 +166,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]]) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -274,59 +174,30 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]]) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]) - -########## torch.float64/torch.int64/size=()+(2, 3)+() ########## +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), size=(2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), size=(8, 6), nnz=24, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]) # _col_indices -tensor([0, 1, 0, 2]) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5]) # _values -tensor([1., 2., 3., 4.], dtype=torch.float64) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.]) -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), size=(0, 0), nnz=0, dtype=torch.float64, - layout=torch.sparse_csr) -# _crow_indices -tensor([0]) -# _col_indices -tensor([], dtype=torch.int64) -# _values -tensor([], dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), size=(2, 2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]]) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], dtype=torch.float64) ########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -337,20 +208,20 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), size=(2, 3, 2, 3), nnz=4, + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -361,7 +232,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]]) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -369,84 +240,33 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]]) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], dtype=torch.float64) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], dtype=torch.float64) - -########## torch.float32/torch.int32/size=()+(2, 3)+(2,) ########## +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(2, 3, 2), nnz=4, +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), size=(8, 6), nnz=24, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]) # _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5]) # _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], dtype=torch.float64) -########## torch.float32/torch.int32/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], - [ 2., 12.], - [ 3., 13.], - [ 4., 14.]], - [[ 2., 12.], - [ 3., 13.], - [ 4., 14.], - [ 5., 15.]], - - [[ 3., 13.], - [ 4., 14.], - [ 5., 15.], - [ 6., 16.]], - - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), size=(2, 3, 4, 2), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[[ 1., 11.], - [ 2., 12.], - [ 3., 13.], - [ 4., 14.]], - - [[ 2., 12.], - [ 3., 13.], - [ 4., 14.], - [ 5., 15.]], - - [[ 3., 13.], - [ 4., 14.], - [ 5., 15.], - [ 6., 16.]], - - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]) - -########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(2, 1) ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -455,90 +275,43 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 2, 3, 2, 1), nnz=4, + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -549,7 +322,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -557,108 +330,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]) - - -########## torch.float64/torch.int32/size=()+(2, 3)+(2,) ########## +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(2, 3, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], dtype=torch.float64) - -########## torch.float64/torch.int32/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -677,12 +384,113 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), size=(2, 3, 4, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, + layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + dtype=torch.int32) # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -702,9 +510,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]], dtype=torch.float64) + [ 7., 17.]], -########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]) + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -713,90 +622,43 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 2, 3, 2, 1), nnz=4, + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -807,7 +669,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -815,108 +677,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(2, 3)+(2,) ########## +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(2, 3, 2), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]) - -########## torch.float32/torch.int64/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -935,12 +731,113 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), size=(2, 3, 4, 2), nnz=4, - layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, + dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2]) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + dtype=torch.int32) # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -960,9 +857,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]) + [ 7., 17.]], -########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -971,90 +969,43 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 2, 3, 2, 1), nnz=4, + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -1065,7 +1016,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]]) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -1073,108 +1024,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]]) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]) - - -########## torch.float64/torch.int64/size=()+(2, 3)+(2,) ########## +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), size=(2, 3, 2), nnz=4, dtype=torch.float64, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4]) -# _col_indices -tensor([0, 1, 0, 2]) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -1193,12 +1078,112 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), size=(2, 3, 4, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, + layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4]) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]) # _col_indices -tensor([0, 1, 0, 2]) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5]) # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -1218,9 +1203,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]], dtype=torch.float64) + [ 7., 17.]], -########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]) + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -1229,90 +1315,43 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), size=(2, 3, 2, 3, 2, 1), nnz=4, + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], @@ -1323,7 +1362,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]]) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -1331,81 +1370,284 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]]) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], dtype=torch.float64) - [[ 8.], - [ 9.]]], +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([[[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + [[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[[ 9.], - [10.]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]], - [[10.], - [11.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[11.], - [12.]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[12.], - [13.]]]], + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], - [[[[13.], - [14.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[14.], - [15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[15.], - [16.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], - [[16.], - [17.]]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], - [[[17.], - [18.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], - [[18.], - [19.]], + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], - [[19.], - [20.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[20.], - [21.]]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[21.], - [22.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], - [[22.], - [23.]], + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[23.], - [24.]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], - [[24.], - [25.]]]]], dtype=torch.float64) + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), size=(8, 6, 4, 2), nnz=24, + dtype=torch.float64, layout=torch.sparse_csr) +# _crow_indices +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]) +# _col_indices +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5]) +# _values +tensor([[[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + + [[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCUDA.test_print_SparseBSC_cuda.expect b/test/expect/TestSparseCompressedCUDA.test_print_SparseBSC_cuda.expect index 46bdb44b2a9..9e563794f07 100644 --- a/test/expect/TestSparseCompressedCUDA.test_print_SparseBSC_cuda.expect +++ b/test/expect/TestSparseCompressedCUDA.test_print_SparseBSC_cuda.expect @@ -1,6981 +1,3583 @@ -########## torch.float32/torch.int32/size=()+(3, 4)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], - [[ 4., 14.]]]), device='cuda:0', size=(3, 4), nnz=4, + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 11.]], +tensor([[[[[1.], + [3.]], - [[ 2., 12.]], + [[2.], + [0.]], - [[ 3., 13.]], + [[0.], + [4.]]], - [[ 4., 14.]]], device='cuda:0') -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0') + +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), device='cuda:0', size=(0, 0), nnz=0, +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([0], device='cuda:0', dtype=torch.int32) +tensor([0, 4, 7], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0', dtype=torch.int32) # _values -tensor([], device='cuda:0', size=(0, 1, 2)) +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], -########## torch.float32/torch.int32/size=(2,)+(6, 2)+() ########## + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0') + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[2.], - [3.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[3.], - [4.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], - [[4.], - [5.]]], + [[2.], + [0.]], + + [[0.], + [4.]]], - [[[5.], - [6.]], + [[[1.], + [4.]], - [[6.], - [7.]], + [[2.], + [0.]], - [[7.], - [8.]], + [[3.], + [0.]]], - [[8.], - [9.]]]]), device='cuda:0', size=(2, 6, 2), nnz=4, + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0', dtype=torch.int32) +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0', dtype=torch.int32) +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7], device='cuda:0', dtype=torch.int32) +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0', dtype=torch.int32) +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0') # _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0') # _values -tensor([[[[1.], - [2.]], +tensor([[[[[1.], + [3.]], - [[2.], - [3.]], + [[2.], + [0.]], - [[3.], - [4.]], - - [[4.], - [5.]]], + [[0.], + [4.]]], - [[[5.], - [6.]], + [[[1.], + [4.]], - [[6.], - [7.]], + [[2.], + [0.]], - [[7.], - [8.]], + [[3.], + [0.]]], - [[8.], - [9.]]]], device='cuda:0') -########## torch.float32/torch.int32/size=(2, 3)+(9, 4)+() ########## + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0') + +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, + layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7], device='cuda:0') +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0') +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0') + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0') +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0') +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, + dtype=torch.float64, layout=torch.sparse_bsc) +# _ccol_indices +tensor([0, 4, 7], device='cuda:0') +# _row_indices +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0') +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsc) +# _ccol_indices +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0', dtype=torch.int32) +# _row_indices +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0', dtype=torch.int32) +# _values +tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0') + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), device='cuda:0', size=(2, 3, 9, 4), - nnz=4, layout=torch.sparse_bsc) + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) +tensor([0, 4, 7], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], device='cuda:0') + [26., 36.], + [27., 37.]]]]], device='cuda:0') -########## torch.float64/torch.int32/size=()+(3, 4)+() ########## +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), device='cuda:0', size=(3, 4), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 11.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12.]], + [[3., 4., 5., 6.]]], - [[ 3., 13.]], - [[ 4., 14.]]], device='cuda:0', dtype=torch.float64) + [[[2., 3., 4., 5.]], -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([], device='cuda:0', dtype=torch.int32) -# _values -tensor([], device='cuda:0', size=(0, 1, 2), dtype=torch.float64) +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], -########## torch.float64/torch.int32/size=(2,)+(6, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), device='cuda:0', size=(2, 6, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), device='cuda:0', size=(2, 3, 9, 4), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) +tensor([0, 4, 7], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], device='cuda:0', dtype=torch.float64) + [26., 36.], + [27., 37.]]]]], device='cuda:0', dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(3, 4)+() ########## +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), device='cuda:0', size=(3, 4), nnz=4, - layout=torch.sparse_bsc) + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0') +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0') # _row_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0') # _values -tensor([[[ 1., 11.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12.]], + [[3., 4., 5., 6.]]], - [[ 3., 13.]], - [[ 4., 14.]]], device='cuda:0') + [[[2., 3., 4., 5.]], -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0') + +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([0], device='cuda:0') -# _row_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', size=(0, 1, 2)) +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], -########## torch.float32/torch.int64/size=(2,)+(6, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), device='cuda:0', size=(2, 6, 2), nnz=4, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), device='cuda:0', size=(2, 3, 9, 4), - nnz=4, layout=torch.sparse_bsc) + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') +tensor([0, 4, 7], device='cuda:0') # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0') # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], device='cuda:0') + [26., 36.], + [27., 37.]]]]], device='cuda:0') -########## torch.float64/torch.int64/size=()+(3, 4)+() ########## +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.]], +tensor(ccol_indices=tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], - [[ 2., 12.]], + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]]), + row_indices=tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], - [[ 3., 13.]], + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 4., 14.]]]), device='cuda:0', size=(3, 4), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0') +tensor([[[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]], + + [[0, 1, 2, 3], + [0, 1, 2, 3], + [0, 1, 2, 3]]], device='cuda:0') # _row_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([[[0, 0, 0], + [0, 0, 0], + [0, 0, 0]], + + [[0, 0, 0], + [0, 0, 0], + [0, 0, 0]]], device='cuda:0') # _values -tensor([[[ 1., 11.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12.]], + [[3., 4., 5., 6.]]], - [[ 3., 13.]], - [[ 4., 14.]]], device='cuda:0', dtype=torch.float64) + [[[2., 3., 4., 5.]], -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 1, 2)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0], device='cuda:0') -# _row_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', size=(0, 1, 2), dtype=torch.float64) +tensor(ccol_indices=tensor([0, 4, 7]), + row_indices=tensor([0, 1, 2, 3, 0, 2, 3]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], -########## torch.float64/torch.int64/size=(2,)+(6, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]]), device='cuda:0', size=(2, 6, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], - - - [[[5.], - [6.]], - - [[6.], - [7.]], - - [[7.], - [8.]], - - [[8.], - [9.]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(9, 4)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11.], + [[ 1., 11.], [ 2., 12.], - [ 3., 13.]], - - [[ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]]), device='cuda:0', size=(2, 3, 9, 4), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, dtype=torch.float64, layout=torch.sparse_bsc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') +tensor([0, 4, 7], device='cuda:0') # _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') +tensor([0, 1, 2, 3, 0, 2, 3], device='cuda:0') # _values -tensor([[[[[ 1., 11.], - [ 2., 12.], - [ 3., 13.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.], + [[ 1., 11.], + [ 2., 12.], [ 3., 13.], [ 4., 14.]], - [[ 3., 13.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 2., 12.], + [ 3., 13.], [ 4., 14.], [ 5., 15.]], - [[ 4., 14.], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], [ 5., 15.], [ 6., 16.]]], - [[[ 5., 15.], - [ 6., 16.], - [ 7., 17.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.], + [[ 5., 15.], + [ 6., 16.], [ 7., 17.], [ 8., 18.]], - [[ 7., 17.], - [ 8., 18.], - [ 9., 19.]], - - [[ 8., 18.], - [ 9., 19.], - [10., 20.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 9., 19.], - [10., 20.], - [11., 21.]], - [[10., 20.], + [[[[10., 20.], [11., 21.], - [12., 22.]], - - [[11., 21.], [12., 22.], [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], [13., 23.], - [14., 24.]]]], - - - - [[[[13., 23.], [14., 24.], - [15., 25.]], + [15., 25.]]], - [[14., 24.], - [15., 25.], - [16., 26.]], - [[15., 25.], + [[[15., 25.], [16., 26.], - [17., 27.]], + [17., 27.], + [18., 28.]], [[16., 26.], [17., 27.], - [18., 28.]]], - - - [[[17., 27.], [18., 28.], [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], [19., 29.], - [20., 30.]], - - [[19., 29.], [20., 30.], [21., 31.]], - [[20., 30.], + [[19., 29.], + [20., 30.], [21., 31.], [22., 32.]]], - [[[21., 31.], - [22., 32.], - [23., 33.]], - - [[22., 32.], - [23., 33.], - [24., 34.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], [[23., 33.], [24., 34.], - [25., 35.]], + [25., 35.], + [26., 36.]], [[24., 34.], [25., 35.], - [26., 36.]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int32/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], device='cuda:0') - -########## torch.float32/torch.int32/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), device='cuda:0', - size=(9, 4, 4, 2), nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], device='cuda:0') - -########## torch.float32/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], device='cuda:0') - - -########## torch.float64/torch.int32/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int32/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), device='cuda:0', - size=(9, 4, 4, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), device='cuda:0', - size=(9, 4, 4, 2), nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], device='cuda:0') - - -########## torch.float64/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[ 1., 101.], - [ 11., 111.], - [ 21., 121.]], - - [[ 2., 102.], - [ 12., 112.], - [ 22., 122.]]], - - - [[[ 2., 102.], - [ 12., 112.], - [ 22., 122.]], - - [[ 3., 103.], - [ 13., 113.], - [ 23., 123.]]], - - - [[[ 3., 103.], - [ 13., 113.], - [ 23., 123.]], - - [[ 4., 104.], - [ 14., 114.], - [ 24., 124.]]], - - - [[[ 4., 104.], - [ 14., 114.], - [ 24., 124.]], - - [[ 5., 105.], - [ 15., 115.], - [ 25., 125.]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(9, 4)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]]), device='cuda:0', - size=(9, 4, 4, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_bsc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]]], - - - [[[6.0000e+00, 1.0060e+03], - [1.0600e+02, 1.1060e+03], - [2.0600e+02, 1.2060e+03], - [3.0600e+02, 1.3060e+03]], - - [[1.6000e+01, 1.0160e+03], - [1.1600e+02, 1.1160e+03], - [2.1600e+02, 1.2160e+03], - [3.1600e+02, 1.3160e+03]]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]], - - [[ 36.], - [136.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]], - - [[ 37.], - [137.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]], - - [[ 38.], - [138.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]], - - [[ 39.], - [139.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]], - - [[ 40.], - [140.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]], - - [[ 41.], - [141.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]], - - [[ 42.], - [142.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]], - - [[ 43.], - [143.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]], - - [[ 44.], - [144.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]], - - [[ 45.], - [145.]]]]]]], device='cuda:0', dtype=torch.float64) + [26., 36.], + [27., 37.]]]]], device='cuda:0', dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCUDA.test_print_SparseBSR_cuda.expect b/test/expect/TestSparseCompressedCUDA.test_print_SparseBSR_cuda.expect index 0dd1aff7d4d..66bc7fa9885 100644 --- a/test/expect/TestSparseCompressedCUDA.test_print_SparseBSR_cuda.expect +++ b/test/expect/TestSparseCompressedCUDA.test_print_SparseBSR_cuda.expect @@ -1,6949 +1,3583 @@ -########## torch.float32/torch.int32/size=()+(4, 3)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[2.], - [3.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[3.], - [4.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[4.], - [5.]]]), device='cuda:0', size=(4, 3), nnz=4, + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[1.], - [2.]], +tensor([[[[[1.], + [3.]], - [[2.], - [3.]], + [[2.], + [0.]], - [[3.], - [4.]], + [[0.], + [4.]]], - [[4.], - [5.]]], device='cuda:0') -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0') + +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), device='cuda:0', size=(0, 0), nnz=0, +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([0], device='cuda:0', dtype=torch.int32) +tensor([0, 2, 3, 5, 7], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0', dtype=torch.int32) # _values -tensor([], device='cuda:0', size=(0, 2, 1)) +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], -########## torch.float32/torch.int32/size=(2,)+(2, 6)+() ########## + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0') + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[ 2., 12.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[ 3., 13.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[ 4., 14.]]], + [[2.], + [0.]], + [[0.], + [4.]]], - [[[ 5., 15.]], - [[ 6., 16.]], + [[[1.], + [4.]], - [[ 7., 17.]], + [[2.], + [0.]], - [[ 8., 18.]]]]), device='cuda:0', size=(2, 2, 6), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[ 1., 11.]], + [[3.], + [0.]]], - [[ 2., 12.]], - [[ 3., 13.]], + [[[1.], + [2.]], - [[ 4., 14.]]], + [[0.], + [3.]], + [[0.], + [4.]]]], - [[[ 5., 15.]], - [[ 6., 16.]], - [[ 7., 17.]], + [[[[0.], + [2.]], - [[ 8., 18.]]]], device='cuda:0') + [[1.], + [3.]], -########## torch.float32/torch.int32/size=(2, 3)+(4, 9)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], + [[0.], + [4.]]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[[1.], + [3.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[0.], + [4.]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], + [[2.], + [0.]]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[[1.], + [0.]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[2.], + [4.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]), device='cuda:0', - size=(2, 3, 4, 9), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], device='cuda:0') - - -########## torch.float64/torch.int32/size=()+(4, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]), device='cuda:0', size=(4, 3), nnz=4, + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[1.], - [2.]], +tensor([[[[[1.], + [3.]], - [[2.], - [3.]], + [[2.], + [0.]], - [[3.], - [4.]], + [[0.], + [4.]]], - [[4.], - [5.]]], device='cuda:0', dtype=torch.float64) -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), device='cuda:0', size=(0, 0), nnz=0, +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0], device='cuda:0', dtype=torch.int32) +tensor([0, 2, 3, 5, 7], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0', dtype=torch.int32) # _values -tensor([], device='cuda:0', size=(0, 2, 1), dtype=torch.float64) +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], -########## torch.float64/torch.int32/size=(2,)+(2, 6)+() ########## + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[ 2., 12.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[ 3., 13.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], - [[ 4., 14.]]], + [[2.], + [0.]], + + [[0.], + [4.]]], - [[[ 5., 15.]], + [[[1.], + [4.]], - [[ 6., 16.]], + [[2.], + [0.]], - [[ 7., 17.]], + [[3.], + [0.]]], - [[ 8., 18.]]]]), device='cuda:0', size=(2, 2, 6), nnz=4, + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, + layout=torch.sparse_bsr) +# _crow_indices +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0') +# _col_indices +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0') +# _values +tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0') + +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## +# sparse tensor +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, + layout=torch.sparse_bsr) +# _crow_indices +tensor([0, 2, 3, 5, 7], device='cuda:0') +# _col_indices +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0') +# _values +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], + + [[ 2., 0., 3.], + [ 0., 5., 0.]], + + [[ 6., 7., 8.], + [ 0., 0., 0.]], + + [[ 0., 9., 0.], + [13., 0., 14.]], + + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0') + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## +# sparse tensor +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[1.], + [3.]], + + [[2.], + [0.]], + + [[0.], + [4.]]], + + + [[[1.], + [4.]], + + [[2.], + [0.]], + + [[3.], + [0.]]], + + + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0') # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0') # _values -tensor([[[[ 1., 11.]], +tensor([[[[[1.], + [3.]], - [[ 2., 12.]], + [[2.], + [0.]], - [[ 3., 13.]], - - [[ 4., 14.]]], + [[0.], + [4.]]], - [[[ 5., 15.]], + [[[1.], + [4.]], - [[ 6., 16.]], + [[2.], + [0.]], - [[ 7., 17.]], + [[3.], + [0.]]], - [[ 8., 18.]]]], device='cuda:0', dtype=torch.float64) -########## torch.float64/torch.int32/size=(2, 3)+(4, 9)+() ########## + [[[1.], + [2.]], + + [[0.], + [3.]], + + [[0.], + [4.]]]], + + + + [[[[0.], + [2.]], + + [[1.], + [3.]], + + [[0.], + [4.]]], + + + [[[1.], + [3.]], + + [[0.], + [4.]], + + [[2.], + [0.]]], + + + [[[1.], + [0.]], + + [[2.], + [4.]], + + [[3.], + [0.]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], + [[ 0., 9., 0.], + [13., 0., 14.]], - [[ 3., 13., 23.], - [ 4., 14., 24.]], + [[10., 11., 12.], + [15., 16., 17.]], - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[ 0., 0., 0.], + [20., 21., 22.]], - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]), device='cuda:0', - size=(2, 3, 4, 9), nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(4, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]), device='cuda:0', size=(4, 3), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]], device='cuda:0') - -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_bsr) -# _crow_indices -tensor([0], device='cuda:0') -# _col_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', size=(0, 2, 1)) - -########## torch.float32/torch.int64/size=(2,)+(2, 6)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], - - [[ 2., 12.]], - - [[ 3., 13.]], - - [[ 4., 14.]]], - - - [[[ 5., 15.]], - - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]]), device='cuda:0', size=(2, 2, 6), nnz=4, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[[[ 1., 11.]], - - [[ 2., 12.]], - - [[ 3., 13.]], - - [[ 4., 14.]]], - - - [[[ 5., 15.]], - - [[ 6., 16.]], - - [[ 7., 17.]], - - [[ 8., 18.]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=(2, 3)+(4, 9)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]]), device='cuda:0', - size=(2, 3, 4, 9), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], - - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], - - - [[[ 5., 15., 25.], - [ 6., 16., 26.]], - - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], - - - [[[ 9., 19., 29.], - [10., 20., 30.]], - - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], - - - - [[[[13., 23., 33.], - [14., 24., 34.]], - - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], - - - [[[17., 27., 37.], - [18., 28., 38.]], - - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], - - - [[[21., 31., 41.], - [22., 32., 42.]], - - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], device='cuda:0') - - -########## torch.float64/torch.int64/size=()+(4, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[1.], - [2.]], - - [[2.], - [3.]], - - [[3.], - [4.]], - - [[4.], - [5.]]]), device='cuda:0', size=(4, 3), nnz=4, + [[ 0., 18., 19.], + [ 0., 23., 24.]]]), device='cuda:0', size=(8, 6), nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0') +tensor([0, 2, 3, 5, 7], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0') # _values -tensor([[[1.], - [2.]], +tensor([[[ 0., 1., 0.], + [ 0., 4., 0.]], - [[2.], - [3.]], + [[ 2., 0., 3.], + [ 0., 5., 0.]], - [[3.], - [4.]], + [[ 6., 7., 8.], + [ 0., 0., 0.]], - [[4.], - [5.]]], device='cuda:0', dtype=torch.float64) + [[ 0., 9., 0.], + [13., 0., 14.]], -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## + [[10., 11., 12.], + [15., 16., 17.]], + + [[ 0., 0., 0.], + [20., 21., 22.]], + + [[ 0., 18., 19.], + [ 0., 23., 24.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0, 2, 1)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0], device='cuda:0') -# _col_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', size=(0, 2, 1), dtype=torch.float64) +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], -########## torch.float64/torch.int64/size=(2,)+(2, 6)+() ########## + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsr) +# _crow_indices +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0', dtype=torch.int32) +# _col_indices +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0', dtype=torch.int32) +# _values +tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0') + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[[[ 1., 11.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 13.]], - - [[ 4., 14.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 5., 15.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 7., 17.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 8., 18.]]]]), device='cuda:0', size=(2, 2, 6), nnz=4, - dtype=torch.float64, layout=torch.sparse_bsr) + + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') +tensor([0, 2, 3, 5, 7], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[ 1., 11.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 12.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 13.]], - - [[ 4., 14.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 5., 15.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 6., 16.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 7., 17.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 8., 18.]]]], device='cuda:0', dtype=torch.float64) -########## torch.float64/torch.int64/size=(2, 3)+(4, 9)+() ########## + + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], device='cuda:0') + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[3., 4., 5., 6.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[[2., 3., 4., 5.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[0., 0., 0., 0.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[0., 0., 0., 0.]], - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], + [[4., 5., 6., 7.]]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[[1., 2., 3., 4.]], - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], + [[4., 5., 6., 7.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[2., 3., 4., 5.]], - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], + [[0., 0., 0., 0.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[3., 4., 5., 6.]], - [[22., 32., 42.], - [23., 33., 43.]], + [[0., 0., 0., 0.]]]], - [[23., 33., 43.], - [24., 34., 44.]], - [[24., 34., 44.], - [25., 35., 45.]]]]]), device='cuda:0', - size=(2, 3, 4, 9), nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 3], + [0, 3], + [0, 3]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1., 11., 21.], - [ 2., 12., 22.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 12., 22.], - [ 3., 13., 23.]], - - [[ 3., 13., 23.], - [ 4., 14., 24.]], - - [[ 4., 14., 24.], - [ 5., 15., 25.]]], + [[3., 4., 5., 6.]]], - [[[ 5., 15., 25.], - [ 6., 16., 26.]], + [[[2., 3., 4., 5.]], - [[ 6., 16., 26.], - [ 7., 17., 27.]], - - [[ 7., 17., 27.], - [ 8., 18., 28.]], - - [[ 8., 18., 28.], - [ 9., 19., 29.]]], + [[0., 0., 0., 0.]]], - [[[ 9., 19., 29.], - [10., 20., 30.]], + [[[0., 0., 0., 0.]], - [[10., 20., 30.], - [11., 21., 31.]], - - [[11., 21., 31.], - [12., 22., 32.]], - - [[12., 22., 32.], - [13., 23., 33.]]]], + [[4., 5., 6., 7.]]]], - [[[[13., 23., 33.], - [14., 24., 34.]], + [[[[1., 2., 3., 4.]], - [[14., 24., 34.], - [15., 25., 35.]], - - [[15., 25., 35.], - [16., 26., 36.]], - - [[16., 26., 36.], - [17., 27., 37.]]], + [[4., 5., 6., 7.]]], - [[[17., 27., 37.], - [18., 28., 38.]], + [[[2., 3., 4., 5.]], - [[18., 28., 38.], - [19., 29., 39.]], - - [[19., 29., 39.], - [20., 30., 40.]], - - [[20., 30., 40.], - [21., 31., 41.]]], + [[0., 0., 0., 0.]]], - [[[21., 31., 41.], - [22., 32., 42.]], + [[[3., 4., 5., 6.]], - [[22., 32., 42.], - [23., 33., 43.]], - - [[23., 33., 43.], - [24., 34., 44.]], - - [[24., 34., 44.], - [25., 35., 45.]]]]], device='cuda:0', dtype=torch.float64) + [[0., 0., 0., 0.]]]], -########## torch.float32/torch.int32/size=()+(6, 6)+(2,) ########## + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 102.], - [ 12., 112.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 103.], - [ 13., 113.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 3., 103.], - [ 13., 113.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 4., 104.], - [ 14., 114.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 3., 103.], - [ 13., 113.]], - [[ 4., 104.], - [ 14., 114.]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[ 5., 105.], - [ 15., 115.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[ 4., 104.], - [ 14., 114.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 5., 105.], - [ 15., 115.]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[ 6., 106.], - [ 16., 116.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, layout=torch.sparse_bsr) + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([0, 2, 3, 5, 7], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 2., 102.], - [ 12., 112.]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[ 3., 103.], - [ 13., 113.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 3., 103.], - [ 13., 113.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 4., 104.], - [ 14., 114.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 3., 103.], - [ 13., 113.]], - [[ 4., 104.], - [ 14., 114.]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[ 5., 105.], - [ 15., 115.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[ 4., 104.], - [ 14., 114.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 5., 105.], - [ 15., 115.]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[ 6., 106.], - [ 16., 116.]]]], device='cuda:0') + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], -########## torch.float32/torch.int32/size=()+(4, 9)+(4, 2) ########## + + + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[2., 3., 4., 5.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[0., 0., 0., 0.]]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[[1., 2., 3., 4.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], + [[4., 5., 6., 7.]]], - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[2., 3., 4., 5.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[0., 0., 0., 0.]]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[[1., 2., 3., 4.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[2., 3., 4., 5.]]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[0., 0., 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[3., 4., 5., 6.]]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[[[[0., 0., 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[2., 3., 4., 5.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[1., 2., 3., 4.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[3., 4., 5., 6.]]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), device='cuda:0', - size=(4, 9, 4, 2), nnz=4, layout=torch.sparse_bsr) + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0') # _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor([[[[[[1., 2., 3., 4.]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[3., 4., 5., 6.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[2., 3., 4., 5.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[0., 0., 0., 0.]]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[[1., 2., 3., 4.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], + [[4., 5., 6., 7.]]], - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[2., 3., 4., 5.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[0., 0., 0., 0.]]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[[1., 2., 3., 4.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[2., 3., 4., 5.]]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[0., 0., 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[3., 4., 5., 6.]]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[[[[0., 0., 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[2., 3., 4., 5.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[1., 2., 3., 4.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[3., 4., 5., 6.]]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], device='cuda:0') -########## torch.float32/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0') + +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[ 11.], - [111.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 2.], - [102.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[ 12.], - [112.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 3.], - [103.]], - [[ 13.], - [113.]]]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[[ 3.], - [103.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 13.], - [113.]]], - [[[ 4.], - [104.]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], - [[ 14.], - [114.]]]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[[[ 3.], - [103.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 13.], - [113.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 4.], - [104.]], - [[ 14.], - [114.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 5.], - [105.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[ 15.], - [115.]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], - [[[[ 4.], - [104.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 14.], - [114.]]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[[ 5.], - [105.]], - [[ 15.], - [115.]]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], - [[[ 6.], - [106.]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], - [[ 16.], - [116.]]]]], + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[[[[ 5.], - [105.]], - [[ 15.], - [115.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 6.], - [106.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 16.], - [116.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 7.], - [107.]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[ 17.], - [117.]]]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[[[ 6.], - [106.]], - [[ 16.], - [116.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[ 7.], - [107.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[ 17.], - [117.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 8.], - [108.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, layout=torch.sparse_bsr) + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, layout=torch.sparse_bsr) # _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) +tensor([0, 2, 3, 5, 7], device='cuda:0') # _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0') # _values -tensor([[[[[[[ 1.], - [101.]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 11.], - [111.]]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[[ 3.], - [103.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[ 13.], - [113.]]]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[ 3.], - [103.]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 13.], - [113.]]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 4.], - [104.]], - [[ 14.], - [114.]]]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[[[ 3.], - [103.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 14.], - [114.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[ 5.], - [105.]], - [[ 15.], - [115.]]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[[ 4.], - [104.]], - [[ 14.], - [114.]]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 5.], - [105.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], - [[ 15.], - [115.]]], - [[[ 6.], - [106.]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[ 16.], - [116.]]]]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], - [[[[[ 5.], - [105.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[ 15.], - [115.]]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[[ 6.], - [106.]], - [[ 16.], - [116.]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 7.], - [107.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[ 17.], - [117.]]]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], - [[[[ 6.], - [106.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[ 16.], - [116.]]], - [[[ 7.], - [107.]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 17.], - [117.]]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[[ 8.], - [108.]], - [[ 18.], - [118.]]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], device='cuda:0') - [[[[ 7.], - [107.]], - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], device='cuda:0') - - -########## torch.float64/torch.int32/size=()+(6, 6)+(2,) ########## +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor(crow_indices=tensor([[[0, 3], + [0, 3], + [0, 3]], - [[ 2., 102.], - [ 12., 112.]], + [[0, 3], + [0, 3], + [0, 3]]]), + col_indices=tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], - [[ 3., 103.], - [ 13., 113.]]], + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]]), + values=tensor([[[[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[2., 3., 4., 5.]], - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], + [[0., 0., 0., 0.]]], - [[[ 3., 103.], - [ 13., 113.]], + [[[0., 0., 0., 0.]], - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], + [[4., 5., 6., 7.]]]], - [[[ 4., 104.], - [ 14., 114.]], - [[ 5., 105.], - [ 15., 115.]], + [[[[1., 2., 3., 4.]], - [[ 6., 106.], - [ 16., 116.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([[[0, 3], + [0, 3], + [0, 3]], + + [[0, 3], + [0, 3], + [0, 3]]], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([[[0, 1, 2], + [0, 1, 2], + [0, 1, 2]], + + [[0, 1, 2], + [0, 1, 2], + [0, 1, 2]]], device='cuda:0') # _values -tensor([[[[ 1., 101.], - [ 11., 111.]], +tensor([[[[[[1., 2., 3., 4.]], - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], + [[3., 4., 5., 6.]]], - [[[ 2., 102.], - [ 12., 112.]], + [[[2., 3., 4., 5.]], - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], + [[0., 0., 0., 0.]]], - [[[ 3., 103.], - [ 13., 113.]], + [[[0., 0., 0., 0.]], - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], + [[4., 5., 6., 7.]]]], - [[[ 4., 104.], - [ 14., 114.]], - [[ 5., 105.], - [ 15., 115.]], + [[[[1., 2., 3., 4.]], - [[ 6., 106.], - [ 16., 116.]]]], device='cuda:0', dtype=torch.float64) + [[4., 5., 6., 7.]]], -########## torch.float64/torch.int32/size=()+(4, 9)+(4, 2) ########## + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[2., 3., 4., 5.]]], + + + [[[0., 0., 0., 0.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]]], + + + + + [[[[[0., 0., 0., 0.]], + + [[2., 3., 4., 5.]]], + + + [[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[3., 4., 5., 6.]]], + + + [[[0., 0., 0., 0.]], + + [[4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.]], + + [[0., 0., 0., 0.]]]], + + + + [[[[1., 2., 3., 4.]], + + [[0., 0., 0., 0.]]], + + + [[[2., 3., 4., 5.]], + + [[4., 5., 6., 7.]]], + + + [[[3., 4., 5., 6.]], + + [[0., 0., 0., 0.]]]]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor(crow_indices=tensor([0, 2, 3, 5, 7]), + col_indices=tensor([0, 1, 0, 0, 1, 0, 1]), + values=tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), device='cuda:0', - size=(4, 9, 4, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], + + + + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], + + + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], + + + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], + + + + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], + + + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=7, dtype=torch.float64, layout=torch.sparse_bsr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([0, 2, 3, 5, 7], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([0, 1, 0, 0, 1, 0, 1], device='cuda:0') # _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], +tensor([[[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], + [[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], + [[[[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]]], - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], + [[[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]]], - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]]], - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], + [[[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], device='cuda:0', dtype=torch.float64) + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]]]], -########## torch.float64/torch.int32/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], + [[[[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[ 11.], - [111.]]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]]], - [[[ 2.], - [102.]], - [[ 12.], - [112.]]], + [[[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[[ 3.], - [103.]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]]]], - [[ 13.], - [113.]]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[[ 2.], - [102.]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[ 12.], - [112.]]], + [[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]]], - [[[ 3.], - [103.]], + [[[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[ 13.], - [113.]]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]]]], - [[[ 4.], - [104.]], - [[ 14.], - [114.]]]], + [[[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[[ 3.], - [103.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]]], - [[ 13.], - [113.]]], + [[[ 0., 0.], + [ 0., 0.], + [ 0., 0.], + [ 0., 0.]], - [[[ 4.], - [104.]], + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=()+(4, 9)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), device='cuda:0', - size=(4, 9, 4, 2), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], device='cuda:0') - -########## torch.float32/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], device='cuda:0') - - -########## torch.float64/torch.int64/size=()+(6, 6)+(2,) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]]), device='cuda:0', size=(6, 6, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[ 1., 101.], - [ 11., 111.]], - - [[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]]], - - - [[[ 2., 102.], - [ 12., 112.]], - - [[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]]], - - - [[[ 3., 103.], - [ 13., 113.]], - - [[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]]], - - - [[[ 4., 104.], - [ 14., 114.]], - - [[ 5., 105.], - [ 15., 115.]], - - [[ 6., 106.], - [ 16., 116.]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(4, 9)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]]), device='cuda:0', - size=(4, 9, 4, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_bsr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[[[[1.0000e+00, 1.0010e+03], - [1.0100e+02, 1.1010e+03], - [2.0100e+02, 1.2010e+03], - [3.0100e+02, 1.3010e+03]], - - [[1.1000e+01, 1.0110e+03], - [1.1100e+02, 1.1110e+03], - [2.1100e+02, 1.2110e+03], - [3.1100e+02, 1.3110e+03]], - - [[2.1000e+01, 1.0210e+03], - [1.2100e+02, 1.1210e+03], - [2.2100e+02, 1.2210e+03], - [3.2100e+02, 1.3210e+03]]], - - - [[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]]], - - - - [[[[2.0000e+00, 1.0020e+03], - [1.0200e+02, 1.1020e+03], - [2.0200e+02, 1.2020e+03], - [3.0200e+02, 1.3020e+03]], - - [[1.2000e+01, 1.0120e+03], - [1.1200e+02, 1.1120e+03], - [2.1200e+02, 1.2120e+03], - [3.1200e+02, 1.3120e+03]], - - [[2.2000e+01, 1.0220e+03], - [1.2200e+02, 1.1220e+03], - [2.2200e+02, 1.2220e+03], - [3.2200e+02, 1.3220e+03]]], - - - [[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]]], - - - - [[[[3.0000e+00, 1.0030e+03], - [1.0300e+02, 1.1030e+03], - [2.0300e+02, 1.2030e+03], - [3.0300e+02, 1.3030e+03]], - - [[1.3000e+01, 1.0130e+03], - [1.1300e+02, 1.1130e+03], - [2.1300e+02, 1.2130e+03], - [3.1300e+02, 1.3130e+03]], - - [[2.3000e+01, 1.0230e+03], - [1.2300e+02, 1.1230e+03], - [2.2300e+02, 1.2230e+03], - [3.2300e+02, 1.3230e+03]]], - - - [[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]]], - - - - [[[[4.0000e+00, 1.0040e+03], - [1.0400e+02, 1.1040e+03], - [2.0400e+02, 1.2040e+03], - [3.0400e+02, 1.3040e+03]], - - [[1.4000e+01, 1.0140e+03], - [1.1400e+02, 1.1140e+03], - [2.1400e+02, 1.2140e+03], - [3.1400e+02, 1.3140e+03]], - - [[2.4000e+01, 1.0240e+03], - [1.2400e+02, 1.1240e+03], - [2.2400e+02, 1.2240e+03], - [3.2400e+02, 1.3240e+03]]], - - - [[[5.0000e+00, 1.0050e+03], - [1.0500e+02, 1.1050e+03], - [2.0500e+02, 1.2050e+03], - [3.0500e+02, 1.3050e+03]], - - [[1.5000e+01, 1.0150e+03], - [1.1500e+02, 1.1150e+03], - [2.1500e+02, 1.2150e+03], - [3.1500e+02, 1.3150e+03]], - - [[2.5000e+01, 1.0250e+03], - [1.2500e+02, 1.1250e+03], - [2.2500e+02, 1.2250e+03], - [3.2500e+02, 1.3250e+03]]]]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(6, 6)+(2, 1) ########## -# sparse tensor -tensor(crow_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]]), device='cuda:0', - size=(2, 3, 6, 6, 2, 1), nnz=4, dtype=torch.float64, - layout=torch.sparse_bsr) -# _crow_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _col_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[[[ 1.], - [101.]], - - [[ 11.], - [111.]]], - - - [[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]]], - - - - [[[[ 2.], - [102.]], - - [[ 12.], - [112.]]], - - - [[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]]], - - - - [[[[ 3.], - [103.]], - - [[ 13.], - [113.]]], - - - [[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]]], - - - - [[[[ 4.], - [104.]], - - [[ 14.], - [114.]]], - - - [[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]]]], - - - - - [[[[[ 5.], - [105.]], - - [[ 15.], - [115.]]], - - - [[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]]], - - - - [[[[ 6.], - [106.]], - - [[ 16.], - [116.]]], - - - [[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]]], - - - - [[[[ 7.], - [107.]], - - [[ 17.], - [117.]]], - - - [[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]]], - - - - [[[[ 8.], - [108.]], - - [[ 18.], - [118.]]], - - - [[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]]]], - - - - - [[[[[ 9.], - [109.]], - - [[ 19.], - [119.]]], - - - [[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]]], - - - - [[[[ 10.], - [110.]], - - [[ 20.], - [120.]]], - - - [[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]]], - - - - [[[[ 11.], - [111.]], - - [[ 21.], - [121.]]], - - - [[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]]], - - - - [[[[ 12.], - [112.]], - - [[ 22.], - [122.]]], - - - [[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]]]]], - - - - - - [[[[[[ 13.], - [113.]], - - [[ 23.], - [123.]]], - - - [[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]]], - - - - [[[[ 14.], - [114.]], - - [[ 24.], - [124.]]], - - - [[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]]], - - - - [[[[ 15.], - [115.]], - - [[ 25.], - [125.]]], - - - [[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]]], - - - - [[[[ 16.], - [116.]], - - [[ 26.], - [126.]]], - - - [[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]]]], - - - - - [[[[[ 17.], - [117.]], - - [[ 27.], - [127.]]], - - - [[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]]], - - - - [[[[ 18.], - [118.]], - - [[ 28.], - [128.]]], - - - [[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]]], - - - - [[[[ 19.], - [119.]], - - [[ 29.], - [129.]]], - - - [[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]]], - - - - [[[[ 20.], - [120.]], - - [[ 30.], - [130.]]], - - - [[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]]]], - - - - - [[[[[ 21.], - [121.]], - - [[ 31.], - [131.]]], - - - [[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]]], - - - - [[[[ 22.], - [122.]], - - [[ 32.], - [132.]]], - - - [[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]]], - - - - [[[[ 23.], - [123.]], - - [[ 33.], - [133.]]], - - - [[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]]], - - - - [[[[ 24.], - [124.]], - - [[ 34.], - [134.]]], - - - [[[ 25.], - [125.]], - - [[ 35.], - [135.]]], - - - [[[ 26.], - [126.]], - - [[ 36.], - [136.]]]]]]], device='cuda:0', dtype=torch.float64) + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]]], device='cuda:0', dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCUDA.test_print_SparseCSC_cuda.expect b/test/expect/TestSparseCompressedCUDA.test_print_SparseCSC_cuda.expect index 64435343b7c..65efcec6331 100644 --- a/test/expect/TestSparseCompressedCUDA.test_print_SparseCSC_cuda.expect +++ b/test/expect/TestSparseCompressedCUDA.test_print_SparseCSC_cuda.expect @@ -1,1411 +1,1661 @@ -########## torch.float32/torch.int32/size=()+(3, 2)+() ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(3, 2), nnz=4, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([1., 2., 3., 4.], device='cuda:0') +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([], device='cuda:0', dtype=torch.int32) -# _values -tensor([], device='cuda:0') + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], -########## torch.float32/torch.int32/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 3, 2), + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], + + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0') +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int32/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], - - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 3, 2), nnz=4, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0', dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0') + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], device='cuda:0') - -########## torch.float64/torch.int32/size=()+(3, 2)+() ########## +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), device='cuda:0', size=(8, 6), nnz=24, + layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0', dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], device='cuda:0', dtype=torch.float64) +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], device='cuda:0') -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([0], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([], device='cuda:0', dtype=torch.int32) -# _values -tensor([], device='cuda:0', dtype=torch.float64) -########## torch.float64/torch.int32/size=(2,)+(3, 2)+() ########## +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 3, 2), +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], + + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0', dtype=torch.float64) +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float64/torch.int32/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], - - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 3, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0', dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0', dtype=torch.float64) + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], device='cuda:0', dtype=torch.float64) - -########## torch.float32/torch.int64/size=()+(3, 2)+() ########## +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(3, 2), nnz=4, - layout=torch.sparse_csc) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), device='cuda:0', size=(8, 6), nnz=24, + dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0', dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], device='cuda:0') +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], device='cuda:0', + dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0], device='cuda:0') -# _row_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0') -########## torch.float32/torch.int64/size=(2,)+(3, 2)+() ########## +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 3, 2), +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], + + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), device='cuda:0', size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0') +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], -########## torch.float32/torch.int64/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], - - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 3, 2), nnz=4, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0') # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0') # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0') + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], device='cuda:0') - -########## torch.float64/torch.int64/size=()+(3, 2)+() ########## +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([1., 2., 3., 4.], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([0]), - row_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([0], device='cuda:0') -# _row_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2,)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - row_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 3, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _row_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2, 3)+(3, 2)+() ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], - - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 3, 2), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], - - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int32/size=()+(3, 2)+(2,) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(3, 2, 2), nnz=4, +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), device='cuda:0', size=(8, 6), nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0') # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0') # _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0') +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], device='cuda:0') -########## torch.float32/torch.int32/size=()+(3, 2)+(4, 2) ########## + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], + + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]]), device='cuda:0', size=(2, 3, 2, 3), + nnz=4, dtype=torch.float64, layout=torch.sparse_csc) +# _ccol_indices +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0') +# _row_indices +tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0') +# _values +tensor([[[1., 3., 2., 4.], + [1., 4., 2., 3.], + [1., 2., 3., 4.]], + + [[2., 1., 3., 4.], + [1., 3., 4., 2.], + [1., 2., 4., 3.]]], device='cuda:0', dtype=torch.float64) + +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## +# sparse tensor +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., + 2., 10., 15., 5., 11., 16., 18., 23., 3., 12., 17., + 19., 24.]), device='cuda:0', size=(8, 6), nnz=24, + dtype=torch.float64, layout=torch.sparse_csc) +# _ccol_indices +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0') +# _row_indices +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0') +# _values +tensor([ 6., 13., 20., 1., 4., 7., 9., 21., 8., 14., 22., 2., 10., 15., + 5., 11., 16., 18., 23., 3., 12., 17., 19., 24.], device='cuda:0', + dtype=torch.float64) + + +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## +# sparse tensor +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), + row_indices=tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csc) +# _ccol_indices +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], + + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0', dtype=torch.int32) +# _row_indices +tensor([[[0, 1, 0, 1], + [0, 1, 0, 0], + [0, 1, 1, 1]], + + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0', dtype=torch.int32) +# _values +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], + + + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], + + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], + + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], device='cuda:0') + +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(3, 2, 4, 2), - nnz=4, layout=torch.sparse_csc) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], device='cuda:0') + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float32/torch.int32/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0') + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 3, 2, 2, 1), - nnz=4, layout=torch.sparse_csc) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0', dtype=torch.int32) # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], device='cuda:0', dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0') - - -########## torch.float64/torch.int32/size=()+(3, 2)+(2,) ########## +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(3, 2, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0', dtype=torch.float64) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], -########## torch.float64/torch.int32/size=()+(3, 2)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(3, 2, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_csc) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0', dtype=torch.int32) # _row_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], device='cuda:0', dtype=torch.float64) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float64/torch.int32/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 3, 2, 2, 1), - nnz=4, dtype=torch.float64, layout=torch.sparse_csc) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0', dtype=torch.int32) + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0') # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0') # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], device='cuda:0') - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(3, 2)+(2,) ########## +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(3, 2, 2), nnz=4, - layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0') +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], -########## torch.float32/torch.int64/size=()+(3, 2)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(3, 2, 4, 2), - nnz=4, layout=torch.sparse_csc) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0') # _row_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0') # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], device='cuda:0') + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float32/torch.int64/size=(2, 3)+(3, 2)+(2, 1) ########## + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0') + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor(ccol_indices=tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]]), row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]]), + values=tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 3, 2, 2, 1), - nnz=4, layout=torch.sparse_csc) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], +tensor([[[0, 2, 3, 4], + [0, 2, 3, 4], + [0, 2, 3, 4]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') + [[0, 1, 3, 4], + [0, 2, 3, 4], + [0, 1, 3, 4]]], device='cuda:0') # _row_indices tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [0, 1, 0, 0], + [0, 1, 1, 1]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') + [[1, 0, 1, 1], + [0, 1, 1, 0], + [0, 0, 1, 0]]], device='cuda:0') # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [3., 4., 5., 6.], + [2., 3., 4., 5.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [4., 5., 6., 7.], + [2., 3., 4., 5.], + [3., 4., 5., 6.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[2., 3., 4., 5.], + [1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [3., 4., 5., 6.], + [4., 5., 6., 7.], + [2., 3., 4., 5.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [4., 5., 6., 7.], + [3., 4., 5., 6.]]]], device='cuda:0', dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0') - - -########## torch.float64/torch.int64/size=()+(3, 2)+(2,) ########## +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(3, 2, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([0, 2, 4], device='cuda:0') -# _row_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0', dtype=torch.float64) +tensor(ccol_indices=tensor([ 0, 3, 8, 11, 14, 19, 24]), + row_indices=tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, + 7, 0, 4, 5, 6, 7]), + values=tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], -########## torch.float64/torch.int64/size=()+(3, 2)+(4, 2) ########## -# sparse tensor -tensor(ccol_indices=tensor([0, 2, 4]), - row_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(3, 2, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_csc) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, dtype=torch.float64, layout=torch.sparse_csc) # _ccol_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 8, 11, 14, 19, 24], device='cuda:0') # _row_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([2, 5, 7, 0, 1, 2, 4, 7, 2, 5, 7, 0, 4, 5, 1, 4, 5, 6, 7, 0, 4, 5, 6, 7], + device='cuda:0') # _values -tensor([[[ 1., 11.], +tensor([[[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[ 1., 11.], [ 2., 12.], [ 3., 13.], [ 4., 14.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + [[ 2., 12.], [ 3., 13.], [ 4., 14.], [ 5., 15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + [[ 3., 13.], [ 4., 14.], [ 5., 15.], [ 6., 16.]], - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], device='cuda:0', dtype=torch.float64) + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], -########## torch.float64/torch.int64/size=(2, 3)+(3, 2)+(2, 1) ########## -# sparse tensor -tensor(ccol_indices=tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]]), - row_indices=tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], - - [[ 2.], - [ 3.]], - - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], - - - [[[ 5.], - [ 6.]], - - [[ 6.], - [ 7.]], - - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 3, 2, 2, 1), - nnz=4, dtype=torch.float64, layout=torch.sparse_csc) -# _ccol_indices -tensor([[[0, 2, 4], - [0, 3, 4], - [0, 1, 4]], - - [[0, 1, 4], - [0, 2, 4], - [0, 3, 4]]], device='cuda:0') -# _row_indices -tensor([[[0, 1, 0, 1], - [0, 1, 2, 0], - [0, 0, 1, 2]], - - [[1, 0, 1, 2], - [0, 2, 0, 1], - [0, 1, 2, 1]]], device='cuda:0') -# _values -tensor([[[[[ 1.], - [ 2.]], - - [[ 2.], - [ 3.]], - - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], - - - [[[ 5.], - [ 6.]], - - [[ 6.], - [ 7.]], - - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0', dtype=torch.float64) + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0', dtype=torch.float64) diff --git a/test/expect/TestSparseCompressedCUDA.test_print_SparseCSR_cuda.expect b/test/expect/TestSparseCompressedCUDA.test_print_SparseCSR_cuda.expect index ddb5272c79c..a02ee510ff8 100644 --- a/test/expect/TestSparseCompressedCUDA.test_print_SparseCSR_cuda.expect +++ b/test/expect/TestSparseCompressedCUDA.test_print_SparseCSR_cuda.expect @@ -1,48 +1,3 @@ -########## torch.float32/torch.int32/size=()+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(2, 3), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([1., 2., 3., 4.], device='cuda:0') - -########## torch.float32/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_csr) -# _crow_indices -tensor([0], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([], device='cuda:0', dtype=torch.int32) -# _values -tensor([], device='cuda:0') - -########## torch.float32/torch.int32/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 2, 3), - nnz=4, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0') - ########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], @@ -52,21 +7,21 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), device='cuda:0', size=(2, 3, 2, 3), + nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -76,7 +31,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -84,59 +39,33 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0') + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], device='cuda:0') - -########## torch.float64/torch.int32/size=()+(2, 3)+() ########## +########## torch.float32/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), device='cuda:0', size=(8, 6), nnz=24, + layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0', + dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0', dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], device='cuda:0', dtype=torch.float64) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], device='cuda:0') -########## torch.float64/torch.int32/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([0], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([], device='cuda:0', dtype=torch.int32) -# _values -tensor([], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int32/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 2, 3), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0', dtype=torch.float64) ########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -147,21 +76,21 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), device='cuda:0', size=(2, 3, 2, 3), + nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -171,7 +100,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -179,59 +108,34 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0', dtype=torch.float64) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], device='cuda:0', dtype=torch.float64) - -########## torch.float32/torch.int64/size=()+(2, 3)+() ########## +########## torch.float64/torch.int32/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(2, 3), nnz=4, - layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), device='cuda:0', size=(8, 6), nnz=24, + dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0', + dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0', dtype=torch.int32) # _values -tensor([1., 2., 3., 4.], device='cuda:0') +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], device='cuda:0', + dtype=torch.float64) -########## torch.float32/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - layout=torch.sparse_csr) -# _crow_indices -tensor([0], device='cuda:0') -# _col_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0') - -########## torch.float32/torch.int64/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 2, 3), - nnz=4, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0') ########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -242,21 +146,21 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 2, 3), nnz=4, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), device='cuda:0', size=(2, 3, 2, 3), + nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -266,7 +170,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0') # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -274,59 +178,32 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0') # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0') + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], device='cuda:0') - -########## torch.float64/torch.int64/size=()+(2, 3)+() ########## +########## torch.float32/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([1., 2., 3., 4.]), device='cuda:0', size=(2, 3), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), device='cuda:0', size=(8, 6), nnz=24, + layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0') # _values -tensor([1., 2., 3., 4.], device='cuda:0', dtype=torch.float64) +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], device='cuda:0') -########## torch.float64/torch.int64/size=()+(0, 0)+() ########## -# sparse tensor -tensor(crow_indices=tensor([0]), - col_indices=tensor([], size=(0,)), - values=tensor([], size=(0,)), device='cuda:0', size=(0, 0), nnz=0, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([0], device='cuda:0') -# _col_indices -tensor([], device='cuda:0', dtype=torch.int64) -# _values -tensor([], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=(2,)+(2, 3)+() ########## -# sparse tensor -tensor(crow_indices=tensor([[0, 2, 4], - [0, 3, 4]]), - col_indices=tensor([[0, 1, 0, 1], - [0, 1, 2, 0]]), - values=tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]]), device='cuda:0', size=(2, 2, 3), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([[0, 2, 4], - [0, 3, 4]], device='cuda:0') -# _col_indices -tensor([[0, 1, 0, 1], - [0, 1, 2, 0]], device='cuda:0') -# _values -tensor([[1., 2., 3., 4.], - [5., 6., 7., 8.]], device='cuda:0', dtype=torch.float64) ########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+() ########## # sparse tensor @@ -337,21 +214,21 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], + values=tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]]), device='cuda:0', - size=(2, 3, 2, 3), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]]), device='cuda:0', size=(2, 3, 2, 3), + nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -361,7 +238,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0') # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -369,84 +246,35 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0') # _values -tensor([[[ 1., 2., 3., 4.], - [ 5., 6., 7., 8.], - [ 9., 10., 11., 12.]], +tensor([[[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]], - [[13., 14., 15., 16.], - [17., 18., 19., 20.], - [21., 22., 23., 24.]]], device='cuda:0', dtype=torch.float64) + [[1., 2., 3., 4.], + [1., 2., 3., 4.], + [1., 2., 3., 4.]]], device='cuda:0', dtype=torch.float64) - -########## torch.float32/torch.int32/size=()+(2, 3)+(2,) ########## +########## torch.float64/torch.int64/size=()+(8, 6)+() ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(2, 3, 2), nnz=4, - layout=torch.sparse_csr) +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., + 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., + 23., 24.]), device='cuda:0', size=(8, 6), nnz=24, + dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0') # _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0') +tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., + 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.], device='cuda:0', + dtype=torch.float64) -########## torch.float32/torch.int32/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[[ 1., 11.], - [ 2., 12.], - [ 3., 13.], - [ 4., 14.]], - [[ 2., 12.], - [ 3., 13.], - [ 4., 14.], - [ 5., 15.]], - - [[ 3., 13.], - [ 4., 14.], - [ 5., 15.], - [ 6., 16.]], - - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(2, 3, 4, 2), - nnz=4, layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[[ 1., 11.], - [ 2., 12.], - [ 3., 13.], - [ 4., 14.]], - - [[ 2., 12.], - [ 3., 13.], - [ 4., 14.], - [ 5., 15.]], - - [[ 3., 13.], - [ 4., 14.], - [ 5., 15.], - [ 6., 16.]], - - [[ 4., 14.], - [ 5., 15.], - [ 6., 16.], - [ 7., 17.]]], device='cuda:0') - -########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(2, 1) ########## +########## torch.float32/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -455,91 +283,44 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 2, 3, 2, 1), - nnz=4, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -549,7 +330,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -557,108 +338,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], device='cuda:0') - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0') - - -########## torch.float64/torch.int32/size=()+(2, 3)+(2,) ########## +########## torch.float32/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(2, 3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int32/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -677,12 +392,114 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(2, 3, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0', dtype=torch.int32) +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0', + dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0', dtype=torch.int32) +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0', dtype=torch.int32) # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -702,9 +519,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]], device='cuda:0', dtype=torch.float64) + [ 7., 17.]], -########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0') + + +########## torch.float64/torch.int32/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -713,91 +631,44 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 2, 3, 2, 1), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -807,7 +678,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0', dtype=torch.int32) # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -815,108 +686,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0', dtype=torch.int32) # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], device='cuda:0', dtype=torch.float64) - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0', dtype=torch.float64) - - -########## torch.float32/torch.int64/size=()+(2, 3)+(2,) ########## +########## torch.float64/torch.int32/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(2, 3, 2), nnz=4, - layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0') - -########## torch.float32/torch.int64/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -935,12 +740,114 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(2, 3, 4, 2), - nnz=4, layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0', + dtype=torch.int32) # _col_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0', dtype=torch.int32) # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -960,9 +867,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]], device='cuda:0') + [ 7., 17.]], -########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0', dtype=torch.float64) + + +########## torch.float32/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -971,91 +979,44 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 2, 3, 2, 1), - nnz=4, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -1065,7 +1026,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0') # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -1073,108 +1034,42 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0') # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], device='cuda:0') - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]], device='cuda:0') - - -########## torch.float64/torch.int64/size=()+(2, 3)+(2,) ########## +########## torch.float32/torch.int64/size=()+(8, 6)+(4, 2) ########## # sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), - values=tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]]), device='cuda:0', size=(2, 3, 2), nnz=4, - dtype=torch.float64, layout=torch.sparse_csr) -# _crow_indices -tensor([0, 2, 4], device='cuda:0') -# _col_indices -tensor([0, 1, 0, 2], device='cuda:0') -# _values -tensor([[1., 2.], - [2., 3.], - [3., 4.], - [4., 5.]], device='cuda:0', dtype=torch.float64) - -########## torch.float64/torch.int64/size=()+(2, 3)+(4, 2) ########## -# sparse tensor -tensor(crow_indices=tensor([0, 2, 4]), - col_indices=tensor([0, 1, 0, 2]), +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), values=tensor([[[ 1., 11.], [ 2., 12.], [ 3., 13.], @@ -1193,12 +1088,113 @@ tensor(crow_indices=tensor([0, 2, 4]), [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]]), device='cuda:0', size=(2, 3, 4, 2), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, layout=torch.sparse_csr) # _crow_indices -tensor([0, 2, 4], device='cuda:0') +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0') # _col_indices -tensor([0, 1, 0, 2], device='cuda:0') +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0') # _values tensor([[[ 1., 11.], [ 2., 12.], @@ -1218,9 +1214,110 @@ tensor([[[ 1., 11.], [[ 4., 14.], [ 5., 15.], [ 6., 16.], - [ 7., 17.]]], device='cuda:0', dtype=torch.float64) + [ 7., 17.]], -########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(2, 1) ########## + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0') + + +########## torch.float64/torch.int64/size=(2, 3)+(2, 3)+(4,) ########## # sparse tensor tensor(crow_indices=tensor([[[0, 2, 4], [0, 3, 4], @@ -1229,91 +1326,44 @@ tensor(crow_indices=tensor([[[0, 2, 4], [[0, 1, 4], [0, 2, 4], [0, 3, 4]]]), - col_indices=tensor([[[0, 1, 0, 1], + col_indices=tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]]), - values=tensor([[[[[ 1.], - [ 2.]], + values=tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], - - [[ 8.], - [ 9.]]], - - - [[[ 9.], - [10.]], - - [[10.], - [11.]], - - [[11.], - [12.]], - - [[12.], - [13.]]]], - - - - [[[[13.], - [14.]], - - [[14.], - [15.]], - - [[15.], - [16.]], - - [[16.], - [17.]]], - - - [[[17.], - [18.]], - - [[18.], - [19.]], - - [[19.], - [20.]], - - [[20.], - [21.]]], - - - [[[21.], - [22.]], - - [[22.], - [23.]], - - [[23.], - [24.]], - - [[24.], - [25.]]]]]), device='cuda:0', size=(2, 3, 2, 3, 2, 1), - nnz=4, dtype=torch.float64, layout=torch.sparse_csr) + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]]), device='cuda:0', + size=(2, 3, 2, 3, 4), nnz=4, dtype=torch.float64, layout=torch.sparse_csr) # _crow_indices tensor([[[0, 2, 4], [0, 3, 4], @@ -1323,7 +1373,7 @@ tensor([[[0, 2, 4], [0, 2, 4], [0, 3, 4]]], device='cuda:0') # _col_indices -tensor([[[0, 1, 0, 1], +tensor([[[0, 1, 0, 2], [0, 1, 2, 0], [0, 0, 1, 2]], @@ -1331,81 +1381,285 @@ tensor([[[0, 1, 0, 1], [0, 2, 0, 1], [0, 1, 2, 1]]], device='cuda:0') # _values -tensor([[[[[ 1.], - [ 2.]], +tensor([[[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 2.], - [ 3.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 3.], - [ 4.]], - - [[ 4.], - [ 5.]]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]], - [[[ 5.], - [ 6.]], + [[[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 6.], - [ 7.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]], - [[ 7.], - [ 8.]], + [[1., 2., 3., 4.], + [2., 3., 4., 5.], + [3., 4., 5., 6.], + [4., 5., 6., 7.]]]], device='cuda:0', dtype=torch.float64) - [[ 8.], - [ 9.]]], +########## torch.float64/torch.int64/size=()+(8, 6)+(4, 2) ########## +# sparse tensor +tensor(crow_indices=tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24]), + col_indices=tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, + 5, 0, 1, 2, 4, 5]), + values=tensor([[[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + [[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], - [[[ 9.], - [10.]], + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]], - [[10.], - [11.]], + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], - [[11.], - [12.]], + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], - [[12.], - [13.]]]], + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], - [[[[13.], - [14.]], + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], - [[14.], - [15.]], + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], - [[15.], - [16.]], + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], - [[16.], - [17.]]], + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], - [[[17.], - [18.]], + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], - [[18.], - [19.]], + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], - [[19.], - [20.]], + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], - [[20.], - [21.]]], + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], - [[[21.], - [22.]], + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], - [[22.], - [23.]], + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], - [[23.], - [24.]], + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], - [[24.], - [25.]]]]], device='cuda:0', dtype=torch.float64) + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]]), device='cuda:0', size=(8, 6, 4, 2), + nnz=24, dtype=torch.float64, layout=torch.sparse_csr) +# _crow_indices +tensor([ 0, 3, 5, 8, 8, 12, 17, 19, 24], device='cuda:0') +# _col_indices +tensor([1, 3, 5, 1, 4, 0, 1, 2, 1, 3, 4, 5, 0, 2, 3, 4, 5, 4, 5, 0, 1, 2, 4, 5], + device='cuda:0') +# _values +tensor([[[ 1., 11.], + [ 2., 12.], + [ 3., 13.], + [ 4., 14.]], + + [[ 2., 12.], + [ 3., 13.], + [ 4., 14.], + [ 5., 15.]], + + [[ 3., 13.], + [ 4., 14.], + [ 5., 15.], + [ 6., 16.]], + + [[ 4., 14.], + [ 5., 15.], + [ 6., 16.], + [ 7., 17.]], + + [[ 5., 15.], + [ 6., 16.], + [ 7., 17.], + [ 8., 18.]], + + [[ 6., 16.], + [ 7., 17.], + [ 8., 18.], + [ 9., 19.]], + + [[ 7., 17.], + [ 8., 18.], + [ 9., 19.], + [10., 20.]], + + [[ 8., 18.], + [ 9., 19.], + [10., 20.], + [11., 21.]], + + [[ 9., 19.], + [10., 20.], + [11., 21.], + [12., 22.]], + + [[10., 20.], + [11., 21.], + [12., 22.], + [13., 23.]], + + [[11., 21.], + [12., 22.], + [13., 23.], + [14., 24.]], + + [[12., 22.], + [13., 23.], + [14., 24.], + [15., 25.]], + + [[13., 23.], + [14., 24.], + [15., 25.], + [16., 26.]], + + [[14., 24.], + [15., 25.], + [16., 26.], + [17., 27.]], + + [[15., 25.], + [16., 26.], + [17., 27.], + [18., 28.]], + + [[16., 26.], + [17., 27.], + [18., 28.], + [19., 29.]], + + [[17., 27.], + [18., 28.], + [19., 29.], + [20., 30.]], + + [[18., 28.], + [19., 29.], + [20., 30.], + [21., 31.]], + + [[19., 29.], + [20., 30.], + [21., 31.], + [22., 32.]], + + [[20., 30.], + [21., 31.], + [22., 32.], + [23., 33.]], + + [[21., 31.], + [22., 32.], + [23., 33.], + [24., 34.]], + + [[22., 32.], + [23., 33.], + [24., 34.], + [25., 35.]], + + [[23., 33.], + [24., 34.], + [25., 35.], + [26., 36.]], + + [[24., 34.], + [25., 35.], + [26., 36.], + [27., 37.]]], device='cuda:0', dtype=torch.float64) diff --git a/test/test_sparse.py b/test/test_sparse.py index 4bfccaff0e2..5b399271bab 100644 --- a/test/test_sparse.py +++ b/test/test_sparse.py @@ -4049,6 +4049,52 @@ class TestSparseMeta(TestCase): self.assertEqual(r.values(), torch.empty(0, 4, device='meta')) +class TestSparseAny(TestCase): + + def test_generate_simple_inputs(self): + # Temporarily disable BSC and BSC layouts as these don't support select yet, see the next PR in the stack. + layouts = [torch.strided, torch.sparse_coo, torch.sparse_csr, torch.sparse_csc, torch.sparse_bsr, torch.sparse_bsc][:-2] + + tested_combinations = set() + for tensors in zip(*map(self.generate_simple_inputs, layouts)): + for i, t in enumerate(tensors): + self.assertEqual(t.layout, layouts[i]) + + # all layouts must produce semantically the same tensors + self.assertEqual(t, tensors[0]) + + if t.layout is torch.strided: + is_hybrid = None + else: + is_hybrid = t.dense_dim() > 0 + if t.layout in {torch.sparse_csr, torch.sparse_bsr}: + is_batch = t.crow_indices().ndim > 1 + elif t.layout in {torch.sparse_csc, torch.sparse_bsc}: + is_batch = t.ccol_indices().ndim > 1 + else: + is_batch = None + if t.layout in {torch.sparse_bsr, torch.sparse_bsc}: + blocksize = t.values().shape[1:3] + nontrivial_blocksize = 1 not in blocksize + else: + nontrivial_blocksize = None + tested_combinations.add((t.layout, is_hybrid, is_batch, nontrivial_blocksize)) + + # Ensure that the inputs generation covers all layout, + # non-hybrid/hybrid, and non-batch/batch combinations: + for layout in layouts: + for is_hybrid in [False, True]: + if layout is torch.strided: + is_hybrid = None + for is_batch in [False, True]: + if layout in {torch.sparse_coo, torch.strided}: + is_batch = None + for nontrivial_blocksize in [False, True]: + if layout not in {torch.sparse_bsr, torch.sparse_bsc}: + nontrivial_blocksize = None + key = (layout, is_hybrid, is_batch, nontrivial_blocksize) + assert key in tested_combinations, key + # e.g., TestSparseUnaryUfuncsCPU and TestSparseUnaryUfuncsCUDA instantiate_device_type_tests(TestSparseUnaryUfuncs, globals(), except_for='meta') @@ -4058,5 +4104,7 @@ instantiate_device_type_tests(TestSparseMaskedReductions, globals(), except_for= # e.g., TestSparseCPU and TestSparseCUDA instantiate_device_type_tests(TestSparse, globals(), except_for='meta') +instantiate_device_type_tests(TestSparseAny, globals(), except_for='meta') + if __name__ == '__main__': run_tests() diff --git a/test/test_sparse_csr.py b/test/test_sparse_csr.py index 6eee8a9d5b8..7275ecfa9f5 100644 --- a/test/test_sparse_csr.py +++ b/test/test_sparse_csr.py @@ -1,6 +1,5 @@ # Owner(s): ["module: sparse"] -import copy import torch import random import itertools @@ -198,147 +197,6 @@ class TestSparseCompressed(TestCase): device = self.device_type return self.genSparseCompressedTensor(size, nnz, device=device, dtype=dtype, index_dtype=index_dtype, layout=layout) - def _generate_small_inputs_utils(self, layout, device=None, dtype=None): - - def shape(shape, basedim=0, blocksize=(1, 1), dense_shape=()): - # Below, we define compressed and plain indices that - # correspond to row compressed tensors. In order to reuse - # the indices tensors for column compressed tensors, we - # swap the row and columns in shape dims (basedim and - # basedim + 1, respectively) to obtain the correct shape - # for column compressed tensors. Batch and dense - # dimensions remain as they are. - # - # Similarly, we reuse indices of non-block tensors for - # block tensors, that means, we'll need to multiply the - # base shape of the non-block tensor with blocksize to get - # the base shape of a block tensor. - if layout is torch.sparse_csc: - shape = shape[:basedim] + (shape[basedim + 1], shape[basedim]) + shape[basedim + 2:] - elif layout is torch.sparse_bsc: - shape = shape[:basedim] + (shape[basedim + 1] * blocksize[1], shape[basedim] * blocksize[0]) + shape[basedim + 2:] - elif layout is torch.sparse_bsr: - shape = shape[:basedim] + (shape[basedim] * blocksize[0], shape[basedim + 1] * blocksize[1]) + shape[basedim + 2:] - return shape - - def values(lst, basedim=0, blocksize=(1, 1), densesize=(), device=device, dtype=dtype): - # Below, we define values for non-blocked and non-hybrid - # tensors. To reuse these for blocked tensors, we replace - # all values in lst with a double-list that "shape" - # corresponds to blocksize. - # To support hybrid tensors, the values in lst are further - # replaced with a N-list where N==len(densesize) and the - # shape corresponds to densesize. - - max_val = torch.iinfo(dtype).max if dtype in [torch.int16, torch.int8, torch.uint8] else None - - def list_add(lst, value): - # recursively add a value to lst items - if isinstance(lst, list): - return [list_add(item, value) for item in lst] - rc = lst + value - return rc if max_val is None else (rc % max_val) - - def stretch_values(value, bdim, values_item_shape): - # replace a value with a new value that extends the - # dimensionality of the value by - # len(values_item_shape) from right. The left - # dimensions up to bdim are considered as batch - # dimensions. - if not values_item_shape: - return value - if isinstance(value, list) and bdim >= 0: - return [stretch_values(item, bdim - 1, values_item_shape) for item in value] - new_value = functools.reduce(lambda x, dims: [copy.deepcopy(x) for _ in range(dims)], - reversed(values_item_shape), None) - for p in itertools.product(*map(list, map(range, values_item_shape))): - row = functools.reduce(lambda x, i: x.__getitem__(i), p[:-1], new_value) - row[p[-1]] = list_add(value, sum([i * 10 ** d for d, i in enumerate(p)])) - return new_value - - if layout is torch.sparse_bsr: - values_item_shape = blocksize + densesize - elif layout is torch.sparse_bsc: - values_item_shape = tuple(reversed(blocksize)) + densesize - else: - values_item_shape = densesize - - if not lst: - return torch.tensor(lst, device=device, dtype=dtype).reshape(0, *values_item_shape) - - lst = stretch_values(lst, basedim, values_item_shape) - - return torch.tensor(lst, device=device, dtype=dtype) - - return shape, values - - def _generate_small_inputs(self, layout, device=None, dtype=None, index_dtype=None, - enable_batched=True, enable_hybrid=True): - """Generator of inputs to sparse compressed tensor factory functions. - - The input is defined as a 4-tuple: - compressed_indices, plain_indices, values, expected_size_from_shape_inference - """ - if index_dtype is None: - index_dtype = torch.int64 - - shape, values = self._generate_small_inputs_utils(layout, device, dtype) - - # a regular tensor - yield (torch.tensor([0, 2, 4], device=device, dtype=index_dtype), - torch.tensor([0, 1, 0, 2], device=device, dtype=index_dtype), - values([1, 2, 3, 4], 0, (2, 1)), - shape((2, 3), 0, (2, 1))) - - # a tensor with zero dimensions - yield (torch.tensor([0, ], device=device, dtype=index_dtype), - torch.tensor([], device=device, dtype=index_dtype), - values([], 0, (2, 1)), - shape((0, 0), 0, (2, 1))) - - if enable_batched: - # a batched tensor with one batch dimension - yield (torch.tensor([[0, 2, 4], [0, 3, 4]], device=device, dtype=index_dtype), - torch.tensor([[0, 1, 0, 1], [0, 1, 2, 0]], device=device, dtype=index_dtype), - values([[1, 2, 3, 4], [5, 6, 7, 8]], 1, (1, 2)), - shape((2, 2, 3), 1, (1, 2))) - - # a batched tensor with two batch dimensions - yield (torch.tensor([[[0, 2, 4], [0, 3, 4], [0, 1, 4]], - [[0, 1, 4], [0, 2, 4], [0, 3, 4]]], - device=device, dtype=index_dtype), - torch.tensor([[[0, 1, 0, 1], [0, 1, 2, 0], [0, 0, 1, 2]], - [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]], - device=device, dtype=index_dtype), - values([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], - [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]], 2, (2, 3)), - shape((2, 3, 2, 3), 2, (2, 3))) - - if enable_hybrid: - # a tensor with one dense dimension - yield (torch.tensor([0, 2, 4], device=device, dtype=index_dtype), - torch.tensor([0, 1, 0, 2], device=device, dtype=index_dtype), - values([1, 2, 3, 4], 0, (3, 2), (2,)), - shape((2, 3, 2), 0, (3, 2))) - - # a tensor with two dense dimensions - yield (torch.tensor([0, 2, 4], device=device, dtype=index_dtype), - torch.tensor([0, 1, 0, 2], device=device, dtype=index_dtype), - values([1, 2, 3, 4], 0, (2, 3), (4, 2)), - shape((2, 3, 4, 2), 0, (2, 3))) - - if enable_batched and enable_hybrid: - # a batched tensor with two batch dimensions and two dense dimensions - yield (torch.tensor([[[0, 2, 4], [0, 3, 4], [0, 1, 4]], - [[0, 1, 4], [0, 2, 4], [0, 3, 4]]], - device=device, dtype=index_dtype), - torch.tensor([[[0, 1, 0, 1], [0, 1, 2, 0], [0, 0, 1, 2]], - [[1, 0, 1, 2], [0, 2, 0, 1], [0, 1, 2, 1]]], - device=device, dtype=index_dtype), - values([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], - [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]], 2, (3, 2), (2, 1)), - shape((2, 3, 2, 3, 2, 1), 2, (3, 2))) - @all_sparse_compressed_layouts() @onlyCPU def test_layout(self, layout): @@ -352,11 +210,14 @@ class TestSparseCompressed(TestCase): @dtypes(*all_types_and_complex_and(torch.half, torch.bool, torch.bfloat16)) def test_sparse_compressed_constructor(self, layout, device, dtype, use_factory_function, shape_and_device_inference, input_kind): - if input_kind == 'list' and shape_and_device_inference and torch.device(device).type == 'cuda': - # list inputs to factory/constructor function without - # specifying device will result a sparse compressed tensor - # on CPU. So, skip testing against cuda device as unused. - self.skipTest("nothing to test") + if input_kind == 'list' and shape_and_device_inference: + if torch.device(device).type == 'cuda': + # list inputs to factory/constructor function without + # specifying device will result a sparse compressed tensor + # on CPU. So, skip testing against cuda device as unused. + self.skipTest("nothing to test") + if dtype not in {torch.float32, torch.complex64, torch.int64, torch.bool}: + self.skipTest("dtype not supported with list values") expected_devices = [torch.device(device)] if TEST_CUDA and torch.device(device).type == 'cuda' and torch.cuda.device_count() >= 2 and not shape_and_device_inference: @@ -369,29 +230,34 @@ class TestSparseCompressed(TestCase): torch.sparse_bsc: torch.sparse_bsc_tensor, }[layout] compressed_indices_mth, plain_indices_mth = sparse_compressed_indices_methods[layout] - for index_dtype in [torch.int32, torch.int64]: + if input_kind == 'list': + index_dtypes = [torch.int64] + else: + index_dtypes = [torch.int32, torch.int64] + for index_dtype in index_dtypes: for expected_device in expected_devices: - for compressed_indices, plain_indices, values, size in self._generate_small_inputs( - layout, expected_device, dtype, index_dtype): + for (compressed_indices, plain_indices, values), kwargs in self.generate_simple_inputs( + layout, device=expected_device, dtype=dtype, index_dtype=index_dtype, + # skip zero-sized tensors for list inputs: + enable_zero_sized=input_kind != 'list', + output_tensor=False): + size = kwargs['size'] + if shape_and_device_inference and 0 in size: + # skip shape inference for zero-sized tensor + # inputs because (i) the shape determined from + # an empty list is ambiguous, and (ii) the + # size of the plain dimension defined as + # max(plain_indices) is undefined if + # plain_indices has no values + continue + compressed_indices_expect = compressed_indices + plain_indices_expect = plain_indices + values_expect = values + if input_kind == 'list': - if size == (0, 0): - # for this degenerate case, plain_indices must - # remain a tensor because - # tensor(plain_indices) results a float dtype - # when plain_indices is an empty list - if index_dtype == torch.int32: - # skip testing int32 case because - # tensor(compressed_indices) results a - # int64 dtype when compressed_indices is - # [0] (a list of single int zero). - continue - else: - plain_indices = plain_indices.tolist() compressed_indices = compressed_indices.tolist() + plain_indices = plain_indices.tolist() values = values.tolist() - if size == (0, 0) and layout in {torch.sparse_bsr, torch.sparse_bsc}: - # in the block sparse case, values of type list needs to represent a 3-D tensor - values = [[[]]] if use_factory_function: if shape_and_device_inference: @@ -407,9 +273,9 @@ class TestSparseCompressed(TestCase): dtype=dtype, layout=layout, device=expected_device) self.assertEqual(layout, sparse.layout) self.assertEqual(size, sparse.shape) - self.assertEqual(compressed_indices, compressed_indices_mth(sparse)) - self.assertEqual(plain_indices, plain_indices_mth(sparse)) - self.assertEqual(values, sparse.values()) + self.assertEqual(compressed_indices_expect, compressed_indices_mth(sparse)) + self.assertEqual(plain_indices_expect, plain_indices_mth(sparse)) + self.assertEqual(values_expect, sparse.values()) self.assertEqual(sparse.device, sparse.values().device) self.assertEqual(sparse.device, expected_device) @@ -455,10 +321,10 @@ class TestSparseCompressed(TestCase): @all_sparse_compressed_layouts() @dtypes(*all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16)) def test_clone(self, layout, device, dtype): - for compressed_indices, plain_indices, values, size in self._generate_small_inputs( - layout, device, dtype, index_dtype=torch.int32): - sparse = torch.sparse_compressed_tensor(compressed_indices, plain_indices, values, size, - dtype=dtype, layout=layout, device=device) + for sparse in self.generate_simple_inputs( + layout, device=device, dtype=dtype, index_dtype=torch.int32, + # Temporarily disable testing batch block tensors: + enable_batch=layout in {torch.sparse_csr, torch.sparse_csc}): cloned_sparse = sparse.clone() self.assertEqual(sparse, cloned_sparse) @@ -467,10 +333,37 @@ class TestSparseCompressed(TestCase): compressed_indices_mth, plain_indices_mth = sparse_compressed_indices_methods[layout] printed = [] for enable_hybrid in [False, True]: + # using local patterns for test_print stability + patterns = [ + # 2 x 3 batch of 3 x 2 tensors, trivial blocksize, non-hybrid/hybrid: + ([[[[1, 2, 0], + [1, 0, 3]], + [[1, 2, 3], + [1, 0, 0]], + [[1, 0, 0], + [1, 2, 3]]], + [[[0, 2, 0], + [1, 2, 3]], + [[1, 0, 3], + [1, 2, 0]], + [[1, 2, 3], + [0, 2, 0]]]], [(2, 1)], [(), (4,)] if enable_hybrid else [()]), + # tensor with non-trivial blocksize, non-hybrid/hybrid: + ([[0, 1, 0, 2, 0, 2], + [0, 1, 0, 0, 2, 0], + [3, 3, 3, 0, 0, 0], + [0, 0, 0, 0, 0, 0], + [0, 5, 0, 6, 6, 6], + [5, 0, 5, 6, 6, 6], + [0, 0, 0, 0, 8, 8], + [7, 7, 7, 0, 8, 8]], [(2, 3)], [(), (4, 2)] if enable_hybrid else [()]), + ] for index_dtype in [torch.int32, torch.int64]: for dtype in [torch.float32, torch.float64]: - for compressed_indices, plain_indices, values, size in self._generate_small_inputs( - layout, device, dtype, index_dtype, enable_hybrid=enable_hybrid): + for (compressed_indices, plain_indices, values), kwargs in self.generate_simple_inputs( + layout, device=device, dtype=dtype, index_dtype=index_dtype, enable_hybrid=enable_hybrid, + enable_zero_sized=False, output_tensor=False, patterns=patterns): + size = tuple(kwargs['size']) block_ndim = 2 if layout in {torch.sparse_bsr, torch.sparse_bsc} else 0 base_ndim = 2 batch_ndim = compressed_indices.dim() - 1 @@ -647,9 +540,7 @@ class TestSparseCompressed(TestCase): @all_sparse_compressed_layouts('layout2') @dtypes(*all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16)) def test_empty_like(self, layout, layout2, device, dtype): - for compressed_indices, plain_indices, values, size in self._generate_small_inputs(layout): - sparse = torch.sparse_compressed_tensor(compressed_indices, plain_indices, values, size, - dtype=dtype, layout=layout, device=device) + for sparse in self.generate_simple_inputs(layout): if layout == layout2: result = torch.empty_like(sparse, layout=layout2) compressed_indices_mth, plain_indices_mth = sparse_compressed_indices_methods[result.layout] @@ -671,14 +562,28 @@ class TestSparseCompressed(TestCase): @dtypes(*all_types_and_complex_and(torch.half, torch.bool, torch.bfloat16)) def test_validate(self, layout, device, dtype): for index_dtype in [torch.int32, torch.int64]: - for compressed_indices, plain_indices, values, size in self._generate_small_inputs( - layout, device, dtype, index_dtype, enable_batched=True, enable_hybrid=True): + for (compressed_indices, plain_indices, values), kwargs in self.generate_simple_inputs( + layout, device=device, dtype=dtype, index_dtype=index_dtype, output_tensor=False): + size = kwargs['size'] torch._validate_sparse_compressed_tensor_args(compressed_indices, plain_indices, values, size, layout) def _generate_invalid_input(self, layout, device): from functools import partial - shape, values = self._generate_small_inputs_utils(layout, device=device) + def shape(shape, basedim=0): + blocksize = (1, 1) + if layout is torch.sparse_csc: + shape = shape[:basedim] + (shape[basedim + 1], shape[basedim]) + shape[basedim + 2:] + elif layout is torch.sparse_bsc: + shape = shape[:basedim] + (shape[basedim + 1] * blocksize[1], shape[basedim] * blocksize[0]) + shape[basedim + 2:] + elif layout is torch.sparse_bsr: + shape = shape[:basedim] + (shape[basedim] * blocksize[0], shape[basedim + 1] * blocksize[1]) + shape[basedim + 2:] + return shape + + def values(lst, device=device): + if layout in {torch.sparse_bsr, torch.sparse_bsc}: + lst = [[[item]] for item in lst] + return torch.tensor(lst, device=device) tensor = partial(torch.tensor, device=device) values = partial(values, device=device) @@ -925,7 +830,8 @@ class TestSparseCompressed(TestCase): @onlyCPU @all_sparse_compressed_layouts() def test_dim(self, layout): - for compressed_indices, plain_indices, values, size in self._generate_small_inputs(layout): + for (compressed_indices, plain_indices, values), kwargs in self.generate_simple_inputs(layout, output_tensor=False): + size = kwargs['size'] batch_dim = compressed_indices.dim() - 1 sparse_dim = 2 block_dim = 2 if layout in {torch.sparse_bsr, torch.sparse_bsc} else 0 @@ -940,10 +846,7 @@ class TestSparseCompressed(TestCase): @dtypes(*all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16)) def test_to_dtype(self, layout, device, dtype): # to_dense does not support hybrid inputs - input_gen = self._generate_small_inputs(layout, device=device, enable_hybrid=False) - for compressed_indices, plain_indices, values, size in input_gen: - sparse = torch.sparse_compressed_tensor(compressed_indices, plain_indices, values, size, - dtype=dtype, layout=layout, device=device) + for sparse in self.generate_simple_inputs(layout, dtype=dtype, device=device, enable_hybrid=False): for to_dtype in all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16): sparse_to_dtype = sparse.to(to_dtype) dense_to_dtype = sparse.to_dense().to(to_dtype) @@ -955,10 +858,7 @@ class TestSparseCompressed(TestCase): def test_pickle(self, layout, dtype, device): import pickle - input_gen = self._generate_small_inputs(layout) - for compressed_indices, plain_indices, values, size in input_gen: - sparse = torch.sparse_compressed_tensor(compressed_indices, plain_indices, values, size, - dtype=dtype, device=device, layout=layout) + for sparse in self.generate_simple_inputs(layout, device=device, dtype=dtype): serialized = pickle.dumps(sparse) sparse_loaded = pickle.loads(serialized) diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py index 3b3e81439c4..dc8b04d0637 100644 --- a/torch/testing/_internal/common_utils.py +++ b/torch/testing/_internal/common_utils.py @@ -2446,6 +2446,296 @@ class TestCase(expecttest.TestCase): x = x.detach().clone()._coalesced_(False) return x, x._indices().clone(), x._values().clone() + def generate_simple_inputs(self, layout, + device=None, + dtype=None, + index_dtype=None, + enable_batch=True, + enable_hybrid=True, + enable_zero_sized=True, + enable_batch_variable_nse=False, + output_tensor=True, + patterns=None): + """Generator of simple inputs for tensor constructors of the given layout. + + The generated tensor inputs have the following properties: + + - tensor shapes are minimal but not trivial + - tensor values are sorted sequences for COO and CSR formats, e.g. [1, 2, 3, 4] + - the generated tensors represent the same mathematical tensor for all layouts + - the generated tensors include regular, zero-sized, and optionally, batched or/and hybrid tensors. + + If output_tensor is True, yield tensors with the given + layout. Otherwise, yield inputs to the corresponding tensor + constructors: + + - sparse compressed input is defined as + (compressed_indices, plain_indices, values), dict(size=expected_size_from_shape_inference, device=device, dtype=dtype) + + - sparse COO input is defined as + (indices, values), dict(size=expected_size_from_shape_inference, device=device, dtype=dtype) + + - strided input is defined as + (values,), dict(device=device, dtype=dtype) + """ + if index_dtype is None: + index_dtype = torch.int64 + + is_compressed_sparse_layout = layout in {torch.sparse_csr, torch.sparse_csc, torch.sparse_bsr, torch.sparse_bsc} + + if output_tensor: + for args, kwargs in self.generate_simple_inputs(layout, device=device, dtype=dtype, index_dtype=index_dtype, + enable_batch=enable_batch, enable_hybrid=enable_hybrid, + enable_zero_sized=enable_zero_sized, + enable_batch_variable_nse=enable_batch_variable_nse, + output_tensor=False): + if layout is torch.strided: + assert len(args) == 1 + size = kwargs.pop('size', None) # to ensure that a zero-sized tensor has the desired shape + assert size is not None + yield args[0].reshape(size) + elif layout is torch.sparse_coo: + yield torch.sparse_coo_tensor(*args, **kwargs) + elif is_compressed_sparse_layout: + kwargs.update(layout=layout) + yield torch.sparse_compressed_tensor(*args, **kwargs) + else: + assert 0 # unreachable + return + + def get_blockpattern(pattern, blocksize): + basesize = pattern.shape + assert basesize[0] % blocksize[0] == 0, (basesize, blocksize) + assert basesize[1] % blocksize[1] == 0, (basesize, blocksize) + blockpattern = pattern.reshape(-1, + blocksize[0], + basesize[1] // blocksize[1], + blocksize[1]).transpose(-3, -2).any(-1).any(-1) + block_ids = torch.arange(1, blockpattern.numel() + 1).reshape(blockpattern.shape) + return (blockpattern != 0) * block_ids + + def get_sparse_data(pattern): + basesize = pattern.shape + assert len(basesize) == 2, basesize # pattern is expected to be a matrix + + # We cannot use `torch.sparse_xyz_tensor(pattern)` to + # compute the sparse layout indices and values because + # generate_simple_inputs is used to generate the inputs to + # test `torch.sparse_xyz_tensor` factory functions, so + # we'll compute the indices and values independently of + # the factory functions. + + indices = torch.where(pattern != 0) + coo_indices = torch.stack(indices) + crow_indices = torch.zeros(basesize[0] + 1, dtype=torch.int64) + crow_indices[1:] = torch.cumsum(coo_indices[0].bincount(minlength=basesize[0]), 0) + col_indices = coo_indices[1] + strided_values = torch.zeros(basesize, dtype=torch.int64) + + # the property of `values == range(1, 1+nnz)` is used in + # get_sparse_data_with_block to relate BSR and BSC values, + # so, don't change the following line: + values = torch.arange(1, 1 + len(indices[0]), dtype=torch.int64) + strided_values[indices] = values + + indices_T = torch.where(pattern.transpose(0, 1) != 0) + coo_indices_T = torch.stack(indices_T) + ccol_indices = torch.zeros(basesize[1] + 1, dtype=torch.int64) + ccol_indices[1:] = torch.cumsum(coo_indices_T[0].bincount(minlength=basesize[1]), 0) + row_indices = coo_indices_T[1] + csc_values = strided_values.transpose(0, 1)[indices_T] + + return {torch.sparse_coo: (coo_indices, values), + torch.sparse_csr: (crow_indices, col_indices, values), + torch.sparse_csc: (ccol_indices, row_indices, csc_values), + torch.strided: (strided_values,)} + + def get_sparse_data_with_block(pattern, blocksize): + nonblock_data = get_sparse_data(pattern) + blockpattern = get_blockpattern(pattern, blocksize) + block_data = get_sparse_data(blockpattern) + + strided_values = nonblock_data[torch.strided][0] + block_indices = block_data[torch.sparse_coo][0] + bsr_values = torch.stack([strided_values[bi * blocksize[0]:(bi + 1) * blocksize[0], + bj * blocksize[1]:(bj + 1) * blocksize[1]] + for bi, bj in block_indices.transpose(0, 1)]) + + # here we use the property `values == range(1, 1+nnz)` and + # `values` relation to `csc_values` (see get_sparse_data) + # to get BSC blocks via reordering the BSR blocks: + bsc_values = bsr_values[block_data[torch.sparse_csc][2] - 1] + + return {torch.sparse_bsr: (*block_data[torch.sparse_csr][:2], bsr_values), + torch.sparse_bsc: (*block_data[torch.sparse_csc][:2], bsc_values), + **nonblock_data} + + def get_batch_sparse_data(pattern, blocksize): + size = pattern.shape + if len(size) <= 2: # non-batch + return get_sparse_data_with_block(pattern, blocksize) + + # batch data is created recursively: + batch_data = {} + for i, item in enumerate(pattern): + for layout, d in get_batch_sparse_data(item, blocksize).items(): + target = batch_data.get(layout) + if layout is torch.sparse_coo: + # a "batch COO" means a COO with the leading + # sparse dimensions interpreted as batch + # dimensions + ext_coo_indices1 = torch.cat((torch.full((1, len(d[1])), i, dtype=torch.int64), d[0])) + if target is None: + target = batch_data[layout] = (ext_coo_indices1, d[1]) + else: + target[0].set_(torch.cat((target[0], ext_coo_indices1), 1)) + target[1].set_(torch.cat((target[1], d[1]))) + else: + if target is None: + target = batch_data[layout] = tuple(d[j].unsqueeze(0) for j in range(len(d))) + else: + for j in range(len(d)): + target[j].set_(torch.cat((target[j], d[j].unsqueeze(0)))) + return batch_data + + def generate_values(base, densesize): + """Generates a tensor of shape densesize with values equal to + + base + i_1 * 10^0 + ... + i_d * 10^{d - 1} + + at indices i_1, ..., i_d (with 0 <= i_j < densesize[j] for any 1 <= j <= + len(densesize)) + + This mapping produces unique values as long as + densesize[i] < 10 for all i in range(len(densesize)). + """ + + if not densesize: + return base + if not isinstance(base, int) and base.ndim > 0: + return torch.stack([generate_values(b, densesize) for b in base]) + if base == 0: + return torch.zeros(densesize, dtype=torch.int64) + r = torch.arange(densesize[0], dtype=torch.int64) + for i, d in enumerate(densesize[1:]): + y = torch.arange(d, dtype=torch.int64) * (10 ** (i + 1)) + r = r[..., None] + y[None, ...] + r.add_(base) + return r + + if patterns is None: + # A pattern is a 3-tuple with the following items: + # + # - a list of integers with the depth of two or more. The + # integers define the sparsity patterns of the generated + # inputs: zero values correspond to unspecified + # elements/blocks, and non-zero values to the specified + # elements. + # + # For debugging convenience, the elements with the same + # value typically belong to the same block. However, it + # is not a hard requirement: as long as the shape of a + # pattern divides with block sizes, the pattern will be + # a valid one. + # + # If the depth of the list is larger than two, inputs + # with batch dimensions will be generated. + # + # - a list of 2-tuples of block sizes, used to generate + # BSR/BSC tensors with various block size parameters + # + # - a list of tuples of dense dimensions, used to generate + # hybrid tensors with various dense dimensions + # + patterns = [ + # a simple 3 x 2 tensor: non-hybrid, hybrid with 1 and 2 dense dimensions + ([[1, 2, 0], + [1, 0, 3]], [(2, 1), (1, 3)], [(), (2,), (4, 5)]), + # 2 x 3 batch of 3 x 2 tensors: non-hybrid and hybrid with 2 dense dimensions + ([[[[1, 2, 0], + [1, 0, 3]], + [[1, 2, 3], + [1, 0, 0]], + [[1, 0, 0], + [1, 2, 3]]], + [[[0, 2, 0], + [1, 2, 3]], + [[1, 0, 3], + [1, 2, 0]], + [[1, 2, 3], + [0, 2, 0]]]], [(2, 1), (2, 3)], [(), (2,)]), + # tensor with non-trivial blocksize + ([[0, 1, 0, 2, 0, 2], + [0, 1, 0, 0, 2, 0], + [3, 3, 3, 0, 0, 0], + [0, 0, 0, 0, 0, 0], + [0, 5, 0, 6, 6, 6], + [5, 0, 5, 6, 6, 6], + [0, 0, 0, 0, 8, 8], + [7, 7, 7, 0, 8, 8]], [(2, 3)], [(), (4, 5)]), + # batch tensor with variable NSE + # Requires https://github.com/pytorch/pytorch/pull/84843 or similar. + ([[[1, 2], + [3, 4]], + [[1, 0], + [0, 0]]], [(1, 1)], ([()] if enable_batch_variable_nse else []))] + + # the main loop of the method: + for pattern, blocksizes, densesizes in patterns: + if not enable_hybrid: + densesizes = [s for s in densesizes if not s] + if not (densesizes and blocksizes): + continue + pattern = torch.tensor(pattern, dtype=torch.int64) + if not enable_batch and pattern.ndim > 2: + continue + for blocksize in blocksizes: + data = get_batch_sparse_data(pattern, blocksize)[layout] + for densesize in densesizes: + indices = [a.to(device=device, dtype=index_dtype) for a in data[:-1]] + values = generate_values(data[-1], densesize).to(device=device, dtype=dtype) + yield (*indices, values), dict(device=device, dtype=dtype, + size=pattern.shape + densesize) + + # zero-sized tensor inputs, non-batch, non-hybrid/hybrid + if enable_zero_sized: + for basesize, blocksizes, densesizes in [ + ((2, 0), [(1, 2)], [(), (2,), (2, 3)] if enable_hybrid else [()]), + ((0, 2), [(1, 2), (2, 1), (3, 2)], [()]), + ((0, 0), [(1, 2)], [()]), + ]: + for blocksize in blocksizes: + for densesize in densesizes: + if layout == torch.strided: + indices = () + values = torch.empty((basesize + densesize), device=device, dtype=dtype) + elif layout == torch.sparse_coo: + indices = (torch.empty(len(basesize), 0, device=device, dtype=index_dtype),) + values = torch.empty((0, *densesize), device=device, dtype=dtype) + elif layout == torch.sparse_csr: + crow_indices = torch.tensor([0] * (basesize[0] + 1), device=device, dtype=index_dtype) + col_indices = torch.empty(0, device=device, dtype=index_dtype) + indices = (crow_indices, col_indices) + values = torch.empty((0, *densesize), device=device, dtype=dtype) + elif layout == torch.sparse_csc: + ccol_indices = torch.tensor([0] * (basesize[1] + 1), device=device, dtype=index_dtype) + row_indices = torch.empty(0, device=device, dtype=index_dtype) + indices = (ccol_indices, row_indices) + values = torch.empty((0, *densesize), device=device, dtype=dtype) + elif layout == torch.sparse_bsr: + crow_indices = torch.tensor([0] * (basesize[0] // blocksize[0] + 1), device=device, dtype=index_dtype) + col_indices = torch.empty(0, device=device, dtype=index_dtype) + indices = (crow_indices, col_indices) + values = torch.empty((0, *blocksize, *densesize), device=device, dtype=dtype) + elif layout == torch.sparse_bsc: + ccol_indices = torch.tensor([0] * (basesize[1] // blocksize[1] + 1), device=device, dtype=index_dtype) + row_indices = torch.empty(0, device=device, dtype=index_dtype) + indices = (ccol_indices, row_indices) + values = torch.empty((0, *blocksize, *densesize), device=device, dtype=dtype) + else: + assert 0 # unreachable + yield (*indices, values), dict(device=device, dtype=dtype, size=basesize + densesize) + def safeToDense(self, t): # coalesce is only implemented for COO if t.layout == torch.sparse_coo: