.. _l-onnx-doc-Transpose: ========= Transpose ========= .. contents:: :local: .. _l-onnx-op-transpose-13: Transpose - 13 ============== **Version** * **name**: `Transpose (GitHub) `_ * **domain**: **main** * **since_version**: **13** * **function**: False * **support_level**: SupportType.COMMON * **shape inference**: True This version of the operator has been available **since version 13**. **Summary** Transpose the input tensor similar to numpy.transpose. For example, when perm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape will be (2, 1, 3). **Attributes** * **perm**: A list of integers. By default, reverse the dimensions, otherwise permute the axes according to the values given. **Inputs** * **data** (heterogeneous) - **T**: An input tensor. **Outputs** * **transposed** (heterogeneous) - **T**: Transposed output. **Type Constraints** * **T** in ( tensor(bfloat16), tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) ): Constrain input and output types to all tensor types. **Examples** **_default** :: shape = (2, 3, 4) data = np.random.random_sample(shape).astype(np.float32) node = onnx.helper.make_node( "Transpose", inputs=["data"], outputs=["transposed"] ) transposed = np.transpose(data) expect(node, inputs=[data], outputs=[transposed], name="test_transpose_default") **_all_permutations** :: shape = (2, 3, 4) data = np.random.random_sample(shape).astype(np.float32) permutations = list(itertools.permutations(np.arange(len(shape)))) for i in range(len(permutations)): node = onnx.helper.make_node( "Transpose", inputs=["data"], outputs=["transposed"], perm=permutations[i], ) transposed = np.transpose(data, permutations[i]) expect( node, inputs=[data], outputs=[transposed], name="test_transpose_all_permutations_" + str(i), ) **Differences** .. raw:: html
00Transpose the input tensor similar to numpy.transpose. For example, whenTranspose the input tensor similar to numpy.transpose. For example, when
11perm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shapeperm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape
22will be (2, 1, 3).will be (2, 1, 3).
33
44**Attributes****Attributes**
55
66* **perm**:* **perm**:
77 A list of integers. By default, reverse the dimensions, otherwise A list of integers. By default, reverse the dimensions, otherwise
88 permute the axes according to the values given. permute the axes according to the values given.
99
1010**Inputs****Inputs**
1111
1212* **data** (heterogeneous) - **T**:* **data** (heterogeneous) - **T**:
1313 An input tensor. An input tensor.
1414
1515**Outputs****Outputs**
1616
1717* **transposed** (heterogeneous) - **T**:* **transposed** (heterogeneous) - **T**:
1818 Transposed output. Transposed output.
1919
2020**Type Constraints****Type Constraints**
2121
2222* **T** in (* **T** in (
23 tensor(bfloat16),
2324 tensor(bool), tensor(bool),
2425 tensor(complex128), tensor(complex128),
2526 tensor(complex64), tensor(complex64),
2627 tensor(double), tensor(double),
2728 tensor(float), tensor(float),
2829 tensor(float16), tensor(float16),
2930 tensor(int16), tensor(int16),
3031 tensor(int32), tensor(int32),
3132 tensor(int64), tensor(int64),
3233 tensor(int8), tensor(int8),
3334 tensor(string), tensor(string),
3435 tensor(uint16), tensor(uint16),
3536 tensor(uint32), tensor(uint32),
3637 tensor(uint64), tensor(uint64),
3738 tensor(uint8) tensor(uint8)
3839 ): ):
3940 Constrain input and output types to all tensor types. Constrain input and output types to all tensor types.
.. _l-onnx-op-transpose-1: Transpose - 1 ============= **Version** * **name**: `Transpose (GitHub) `_ * **domain**: **main** * **since_version**: **1** * **function**: False * **support_level**: SupportType.COMMON * **shape inference**: True This version of the operator has been available **since version 1**. **Summary** Transpose the input tensor similar to numpy.transpose. For example, when perm=(1, 0, 2), given an input tensor of shape (1, 2, 3), the output shape will be (2, 1, 3). **Attributes** * **perm**: A list of integers. By default, reverse the dimensions, otherwise permute the axes according to the values given. **Inputs** * **data** (heterogeneous) - **T**: An input tensor. **Outputs** * **transposed** (heterogeneous) - **T**: Transposed output. **Type Constraints** * **T** in ( tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) ): Constrain input and output types to all tensor types.