|
|
@@ -856,31 +856,30 @@ def transpose(inp: Tensor, pattern: Iterable[int]) -> Tensor: |
|
|
|
|
|
|
|
|
|
|
|
def reshape(inp: Tensor, target_shape: Iterable[int]) -> Tensor: |
|
|
|
r"""Reshapes a tensor to given target shape; total number of logical elements must |
|
|
|
remain unchanged |
|
|
|
r"""Reshapes a tensor without changing its data. |
|
|
|
|
|
|
|
Args: |
|
|
|
inp: input tensor. |
|
|
|
target_shape: target shape, it can contain an element of -1 representing ``unspec_axis``. |
|
|
|
|
|
|
|
Examples: |
|
|
|
|
|
|
|
.. testcode:: |
|
|
|
|
|
|
|
import numpy as np |
|
|
|
from megengine import tensor |
|
|
|
import megengine.functional as F |
|
|
|
x = tensor(np.arange(12, dtype=np.int32)) |
|
|
|
out = F.reshape(x, (3, 4)) |
|
|
|
print(out.numpy()) |
|
|
|
inp: input tensor to reshape. |
|
|
|
target_shape: target shape compatible with the original shape. One shape dimension is allowed |
|
|
|
to be `-1` . When a shape dimension is `-1` , the corresponding output tensor shape dimension |
|
|
|
must be inferred from the length of the tensor and the remaining dimensions. |
|
|
|
|
|
|
|
Outputs: |
|
|
|
Returns: |
|
|
|
an output tensor having the same data type, elements, and underlying element order as `inp` . |
|
|
|
|
|
|
|
.. testoutput:: |
|
|
|
Examples: |
|
|
|
|
|
|
|
[[ 0 1 2 3] |
|
|
|
[ 4 5 6 7] |
|
|
|
[ 8 9 10 11]] |
|
|
|
>>> x = F.arange(12) |
|
|
|
>>> x |
|
|
|
Tensor([ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.], device=xpux:0) |
|
|
|
>>> F.reshape(x, (3, 4)) |
|
|
|
Tensor([[ 0. 1. 2. 3.] |
|
|
|
[ 4. 5. 6. 7.] |
|
|
|
[ 8. 9. 10. 11.]], device=xpux:0) |
|
|
|
>>> F.reshape(x, (2, -1)) |
|
|
|
Tensor([[ 0. 1. 2. 3. 4. 5.] |
|
|
|
[ 6. 7. 8. 9. 10. 11.]], device=xpux:0) |
|
|
|
|
|
|
|
""" |
|
|
|
return inp.reshape(target_shape) |
|
|
|
|
|
|
|