ConstantOfShape#
ConstantOfShape - 9#
Version
name: ConstantOfShape (GitHub)
domain: main
since_version: 9
function:
support_level: SupportType.COMMON
shape inference: True
This version of the operator has been available since version 9.
Summary
Attributes
value - TENSOR : (Optional) The value of the output elements.Should be a one-element tensor. If not specified, it defaults to a tensor of value 0 and datatype float32
Inputs
input (heterogeneous) - T1:
Outputs
output (heterogeneous) - T2:
Type Constraints
T1 in ( tensor(int64) ): Constrain input types.
T2 in ( tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) ): Constrain output types to be numerics.
Examples
_float_ones
import numpy as np
import onnx
x = np.array([4, 3, 2]).astype(np.int64)
tensor_value = onnx.helper.make_tensor(
"value", onnx.TensorProto.FLOAT, [1], [1]
)
node = onnx.helper.make_node(
"ConstantOfShape",
inputs=["x"],
outputs=["y"],
value=tensor_value,
)
y = np.ones(x, dtype=np.float32)
expect(node, inputs=[x], outputs=[y], name="test_constantofshape_float_ones")
_int32_zeros
import numpy as np
import onnx
x = np.array([10, 6]).astype(np.int64)
tensor_value = onnx.helper.make_tensor(
"value", onnx.TensorProto.INT32, [1], [0]
)
node = onnx.helper.make_node(
"ConstantOfShape",
inputs=["x"],
outputs=["y"],
value=tensor_value,
)
y = np.zeros(x, dtype=np.int32)
expect(node, inputs=[x], outputs=[y], name="test_constantofshape_int_zeros")
_int32_shape_zero
import numpy as np
import onnx
x = np.array(
[
0,
]
).astype(np.int64)
tensor_value = onnx.helper.make_tensor(
"value", onnx.TensorProto.INT32, [1], [0]
)
node = onnx.helper.make_node(
"ConstantOfShape",
inputs=["x"],
outputs=["y"],
value=tensor_value,
)
y = np.zeros(x, dtype=np.int32)
expect(
node, inputs=[x], outputs=[y], name="test_constantofshape_int_shape_zero"
)