code: def test_check_node_input_marked_optional(self) -> None:
      # GivenTensorFill's input is marked optional, hence it is used in this test.
      node = helper.make_node("GivenTensorFill", [], ["Y"], name="test")
      checker.check_node(node)
  
      # Explicitly pass the empty string as optional
      node = helper.make_node(
          "GivenTensorFill", [""], ["Y"], name="test"
      )
      checker.check_node(node)
  
      # Input of RELU is not optional
      node = helper.make_node("Relu", [""], ["Y"], name="test")
      self.assertRaises(
          checker.ValidationError, checker.check_node, node
      )
  
imports: import os
  import tempfile
  import unittest
  from typing import Sequence
  import numpy
  import onnx.defs
  import onnx.parser
  from onnx import GraphProto, SparseTensorProto, TensorProto, checker, helper, numpy_helper, shape_inference
label_desc: Use image node_id 4 for calling the TestChecker obj's underlying member method code with example usage: obj.test_check_node_input_marked_optional() without return types