File: permute.py

package info (click to toggle)
pytorch-sparse 0.6.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 984 kB
  • sloc: python: 3,646; cpp: 2,444; sh: 54; makefile: 6
file content (10 lines) | stat: -rw-r--r-- 281 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
import torch
from torch_sparse.tensor import SparseTensor


def permute(src: SparseTensor, perm: torch.Tensor) -> SparseTensor:
    assert src.is_quadratic()
    return src.index_select(0, perm).index_select(1, perm)


SparseTensor.permute = lambda self, perm: permute(self, perm)