Spaces:
Running
on
A100
Running
on
A100
import torch | |
from torch import nn | |
def append_dims(x: torch.Tensor, target_dims: int) -> torch.Tensor: | |
"""Appends dimensions to the end of a tensor until it has target_dims dimensions.""" | |
dims_to_append = target_dims - x.ndim | |
if dims_to_append < 0: | |
raise ValueError( | |
f"input has {x.ndim} dims but target_dims is {target_dims}, which is less" | |
) | |
elif dims_to_append == 0: | |
return x | |
return x[(...,) + (None,) * dims_to_append] | |
class Identity(nn.Module): | |
"""A placeholder identity operator that is argument-insensitive.""" | |
def __init__(self, *args, **kwargs) -> None: # pylint: disable=unused-argument | |
super().__init__() | |
# pylint: disable=unused-argument | |
def forward(self, x: torch.Tensor, *args, **kwargs) -> torch.Tensor: | |
return x | |