Spaces:
Sleeping
Sleeping
| 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 | |