code: def export_resize_upsample_scales_linear_half_pixel_symmetric() -> (
      None
  ):
      node = onnx.helper.make_node(
          "Resize",
          inputs=["X", "", "scales"],
          outputs=["Y"],
          mode="linear",
          coordinate_transformation_mode="half_pixel_symmetric",
      )
  
      data = np.array([[[[1, 2], [3, 4]]]], dtype=np.float32)
      scales = np.array([1.0, 1.0, 2.3, 2.94], dtype=np.float32)
  
      # [[[[1.        , 1.15986395, 1.5       , 1.84013605, 2.        ],
      #    [1.56521738, 1.72508133, 2.06521738, 2.40535343, 2.56521738],
      #    [2.43478262, 2.59464657, 2.93478262, 3.27491867, 3.43478262],
      #    [3.        , 3.15986395, 3.5       , 3.84013605, 4.        ]]]]
      output = interpolate_nd(
          data,
          lambda x, _: linear_coeffs(x),
          scale_factors=scales,
          coordinate_transformation_mode="half_pixel_symmetric",
      ).astype(np.float32)
  
      expect(
          node,
          inputs=[data, scales],
          outputs=[output],
          name="test_resize_upsample_scales_linear_half_pixel_symmetric",
      )
  
imports: import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
  from onnx.reference.ops.op_resize import _cubic_coeffs
  from onnx.reference.ops.op_resize import _cubic_coeffs_antialias
  from onnx.reference.ops.op_resize import _interpolate_nd
  from onnx.reference.ops.op_resize import _linear_coeffs
  from onnx.reference.ops.op_resize import _linear_coeffs_antialias
  from onnx.reference.ops.op_resize import _nearest_coeffs
label_desc: Use image node_id 39 for calling the Resize obj's underlying member method code with example usage: obj.export_resize_upsample_scales_linear_half_pixel_symmetric() without return types