Unsqueeze - version 23#
This page documents version 23 of operator Unsqueeze. See Unsqueeze for the latest version (since version 25).
Domain:
ai.onnxSince version: 23
Insert single-dimensional entries to the shape of an input tensor (data).
Takes one required input axes - which contains a list of dimension indices and this operator will insert a dimension of value 1 into the corresponding index of the output tensor (expanded).
For example:
Given an input tensor (`data`) of shape [3, 4, 5], then
Unsqueeze(data, axes=[0, 4]) outputs a tensor (`expanded`) containing the same data as `data` but with shape [1, 3, 4, 5, 1].
The axes should not contain any duplicate entries. It is an error if it contains duplicates.
The rank of the output tensor (output_rank) is the rank of the input tensor (data) plus the number of values in axes.
Each value in axes should be within the (inclusive) range [-output_rank , output_rank - 1].
The order of values in axes does not matter and can come in any order.
Inputs
data (T): Original tensor
axes (tensor(int64)): 1D tensor of integers indicating the dimensions to be inserted. Negative value means counting dimensions from the back. Accepted range is [-r, r-1] where r = rank(expanded).
Outputs
expanded (T): Reshaped tensor with same data as input.
Type Constraints
T: Constrain input and output types to all tensor types up to IRv11. Allowed types: tensor(bfloat16), tensor(bool), tensor(complex128), tensor(complex64), tensor(double), tensor(float), tensor(float16), tensor(float4e2m1), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8).
Examples#
test_cc_shape_inference_tiny_llm
Node:
Unsqueeze(mask_float, mask_axes) -> (mask_4d)
test_cc_shape_inference_tiny_llm_inlined
Node:
Unsqueeze(mask_float, mask_axes) -> (mask_4d)
Differences with previous version (21)#
SchemaDiff: Unsqueeze (domain 'ai.onnx')
old version: 21
new version: 23
breaking: no
Type constraints:
changed ‘T’: added types: [‘tensor(float4e2m1)’]