https://github.com/tensorly/tensorly
Revision 0e301401b4970ca90c8f5f7b7f2e23558d925d1b authored by Jean Kossaifi on 09 March 2021, 21:11:20 UTC, committed by Jean Kossaifi on 09 March 2021, 21:36:29 UTC
1 parent 91766df
Raw File
Tip revision: 0e301401b4970ca90c8f5f7b7f2e23558d925d1b authored by Jean Kossaifi on 09 March 2021, 21:11:20 UTC
FIX: minor issue, convert to numpy after shape call
Tip revision: 0e30140
_factorized_tensor.py
from . import backend as T
from . import tenalg
from collections.abc import Mapping
from abc import ABCMeta

class FactorizedTensor(Mapping, metaclass=ABCMeta):
    """Base Class for Tensors in Factorized form
    """
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def to_tensor(self):
        return NotImplementedError
    
    def to_unfolded(self, mode):
        return NotImplementedError
    
    def to_vec(self):
        return NotImplementedError

    def norm(self):
        """Norm l2 of the tensor"""
        return T.norm(self.to_tensor())

    def mode_dot(self, matrix_or_tensor, mode):
        return tenalg.mode_dot(self.to_tensor(), matrix_or_tensor, mode)
back to top