| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- """This file provides a location for operators that help exporting models via onnx.
- E.g. `shape_as_tensor` and `reshape_from_tensor_shape`
- are to make all dynamic sizes operations traceable.
- NOTE: at one point these functions were implemented differently.
- Since then we have implemented these directly in ATen, so this
- file is kept purely for backward-compatibility.
- """
- from __future__ import annotations
- __all__: list[str] = []
- import torch
- """Get the shape of a tensor as a tensor.
- Args:
- x (Tensor): The input tensor.
- Returns:
- Tensor: A tensor of shape [len(x.shape)] containing the size of each dimension of x.
- Example:
- >>> x = torch.randn(2, 3)
- >>> shape_as_tensor(x)
- tensor([2, 3])
- """
- shape_as_tensor = torch._shape_as_tensor
- """Reshape a tensor to the given shape.
- This function is used to make dynamic size operations traceable when exporting models via ONNX.
- This function is kept for backward-compatibility. It is implemented directly in ATen.
- Parameters:
- x (Tensor): the tensor to be reshaped.
- shape (Tensor): the target shape.
- Returns:
- Tensor: the reshaped tensor.
- """
- reshape_from_tensor_shape = torch._reshape_from_tensor
|