Skip to content

cuboid_patch_based_geometric_compression

Bases: geometric_compression

The cuboid patch based geometric compression function.

It performs the data compression based on cuboid geometric patch shapes and provided compression metric. This class inherits from the geometric_compression class, and only redefines the initialization method.

...

Attributes:

Name Type Description
metric Callable[[Tensor], Tensor]

The geometric compression metric.

name str, default = 'cuboid_patch_based_geometric_compression'

Name of the compression function.

p_h int

Height of the cuboid patch along the negative direction.

p_h_prime int, default = None

Height of the cuboid patch along the positive direction.

p_w int

Width of the cuboid patch along the negative direction.

p_w_prime int, default = None

Width of the cuboid patch along the positive direction.

p_d int

Depth of the cuboid patch along the negative direction.

p_d_prime int, default = None

Depth of the cuboid patch along the positive direction.

Methods:

Name Description
__init__

It performs the initialization of the compression function based on the provided metric and cuboid patch shapes.

Source code in tinybig/compression/geometric_compression.py
class cuboid_patch_based_geometric_compression(geometric_compression):
    """
        The cuboid patch based geometric compression function.

        It performs the data compression based on cuboid geometric patch shapes and provided compression metric.
        This class inherits from the geometric_compression class, and only redefines the initialization method.

        ...

        Attributes
        ----------
        metric: Callable[[torch.Tensor], torch.Tensor]
            The geometric compression metric.
        name: str, default = 'cuboid_patch_based_geometric_compression'
            Name of the compression function.
        p_h: int
            Height of the cuboid patch along the negative direction.
        p_h_prime: int, default = None
            Height of the cuboid patch along the positive direction.
        p_w: int
            Width of the cuboid patch along the negative direction.
        p_w_prime: int, default = None
            Width of the cuboid patch along the positive direction.
        p_d: int
            Depth of the cuboid patch along the negative direction.
        p_d_prime: int, default = None
            Depth of the cuboid patch along the positive direction.

        Methods
        ----------
        __init__
            It performs the initialization of the compression function based on the provided metric and cuboid patch shapes.
    """
    def __init__(
        self,
        metric: Callable[[torch.Tensor], torch.Tensor],
        p_h: int, p_w: int, p_d: int,
        p_h_prime: int = None, p_w_prime: int = None, p_d_prime: int = None,
        name: str = 'cuboid_patch_based_geometric_compression',
        *args, **kwargs
    ):
        """
            The initialization method of the cuboid patch based geometric compression function.

            It initializes the cuboid compression function based on the provided cuboid patch shape
            of the data segments to be compressed in the provided grid structure.

            Parameters
            ----------
            metric: Callable[[torch.Tensor], torch.Tensor]
                The geometric compression metric.
            name: str, default = 'cuboid_patch_based_geometric_compression'
                Name of the compression function.
            p_h: int
                Height of the cuboid patch along the negative direction.
            p_h_prime: int, default = None
                Height of the cuboid patch along the positive direction.
            p_w: int
                Width of the cuboid patch along the negative direction.
            p_w_prime: int, default = None
                Width of the cuboid patch along the positive direction.
            p_d: int
                Depth of the cuboid patch along the negative direction.
            p_d_prime: int, default = None
                Depth of the cuboid patch along the positive direction.

            Returns
            ----------
            transformation
                The cuboid geometric compression function.
        """
        patch = cuboid(p_h=p_h, p_w=p_w, p_d=p_d, p_h_prime=p_h_prime, p_w_prime=p_w_prime, p_d_prime=p_d_prime)
        super().__init__(name=name, metric=metric, patch=patch, *args, **kwargs)

__init__(metric, p_h, p_w, p_d, p_h_prime=None, p_w_prime=None, p_d_prime=None, name='cuboid_patch_based_geometric_compression', *args, **kwargs)

The initialization method of the cuboid patch based geometric compression function.

It initializes the cuboid compression function based on the provided cuboid patch shape of the data segments to be compressed in the provided grid structure.

Parameters:

Name Type Description Default
metric Callable[[Tensor], Tensor]

The geometric compression metric.

required
name str

Name of the compression function.

'cuboid_patch_based_geometric_compression'
p_h int

Height of the cuboid patch along the negative direction.

required
p_h_prime int

Height of the cuboid patch along the positive direction.

None
p_w int

Width of the cuboid patch along the negative direction.

required
p_w_prime int

Width of the cuboid patch along the positive direction.

None
p_d int

Depth of the cuboid patch along the negative direction.

required
p_d_prime int

Depth of the cuboid patch along the positive direction.

None

Returns:

Type Description
transformation

The cuboid geometric compression function.

Source code in tinybig/compression/geometric_compression.py
def __init__(
    self,
    metric: Callable[[torch.Tensor], torch.Tensor],
    p_h: int, p_w: int, p_d: int,
    p_h_prime: int = None, p_w_prime: int = None, p_d_prime: int = None,
    name: str = 'cuboid_patch_based_geometric_compression',
    *args, **kwargs
):
    """
        The initialization method of the cuboid patch based geometric compression function.

        It initializes the cuboid compression function based on the provided cuboid patch shape
        of the data segments to be compressed in the provided grid structure.

        Parameters
        ----------
        metric: Callable[[torch.Tensor], torch.Tensor]
            The geometric compression metric.
        name: str, default = 'cuboid_patch_based_geometric_compression'
            Name of the compression function.
        p_h: int
            Height of the cuboid patch along the negative direction.
        p_h_prime: int, default = None
            Height of the cuboid patch along the positive direction.
        p_w: int
            Width of the cuboid patch along the negative direction.
        p_w_prime: int, default = None
            Width of the cuboid patch along the positive direction.
        p_d: int
            Depth of the cuboid patch along the negative direction.
        p_d_prime: int, default = None
            Depth of the cuboid patch along the positive direction.

        Returns
        ----------
        transformation
            The cuboid geometric compression function.
    """
    patch = cuboid(p_h=p_h, p_w=p_w, p_d=p_d, p_h_prime=p_h_prime, p_w_prime=p_w_prime, p_d_prime=p_d_prime)
    super().__init__(name=name, metric=metric, patch=patch, *args, **kwargs)