Files
zeekayandHanzo Dev f84fe1fd15 snapshot slice 1
Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 15:29:05 -07:00

94 lines
2.3 KiB
Python

# Copyright (c) ONNX Project Contributors
#
# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
import numpy as np
import onnx
from onnx.backend.test.case.base import Base
from onnx.backend.test.case.node import expect
class Identity(Base):
@staticmethod
def export() -> None:
node = onnx.helper.make_node(
"Identity",
inputs=["x"],
outputs=["y"],
)
data = np.array(
[
[
[
[1, 2],
[3, 4],
]
]
],
dtype=np.float32,
)
expect(node, inputs=[data], outputs=[data], name="test_identity")
@staticmethod
def export_sequence() -> None:
node = onnx.helper.make_node(
"Identity",
inputs=["x"],
outputs=["y"],
)
data = [
np.array(
[
[
[
[1, 2],
[3, 4],
]
]
],
dtype=np.float32,
),
np.array(
[
[
[
[2, 3],
[1, 5],
]
]
],
dtype=np.float32,
),
]
expect(node, inputs=[data], outputs=[data], name="test_identity_sequence")
@staticmethod
def export_identity_opt() -> None:
ten_in_tp = onnx.helper.make_tensor_type_proto(
onnx.TensorProto.FLOAT, shape=[5]
)
seq_in_tp = onnx.helper.make_sequence_type_proto(ten_in_tp)
opt_in_tp = onnx.helper.make_optional_type_proto(seq_in_tp)
identity_node = onnx.helper.make_node(
"Identity", inputs=["opt_in"], outputs=["opt_out"]
)
x = [np.array([1, 2, 3, 4, 5]).astype(np.float32)]
expect(
identity_node,
inputs=[x],
outputs=[x],
name="test_identity_opt",
opset_imports=[onnx.helper.make_opsetid("", 16)],
input_type_protos=[opt_in_tp],
output_type_protos=[opt_in_tp],
)