code: def test_image_scaler_remover(self):  # type: () -> None
      inputs = [("input", (1, 3, 50, 50))]
      outputs = [("out", (1, 3, 50, 50), TensorProto.FLOAT)]
  
      im_scaler = helper.make_node(
          "ImageScaler",
          inputs=["input"],
          outputs=["scaler_out"],
          bias=[10, -6, 20],
          scale=3.0,
      )
  
      exp = helper.make_node(
          "Exp", inputs=["scaler_out"], outputs=["out"]
      )
  
      onnx_model = _onnx_create_model([im_scaler, exp], inputs, outputs)
  
      graph = Graph.from_onnx(onnx_model.graph, onnx_ir_version=5)
      new_graph = graph.transformed([ImageScalerRemover()])
      self.assertEqual(len(graph.nodes), 2)
      self.assertEqual(len(new_graph.nodes), 1)
      self.assertEqual(new_graph.nodes[0].inputs[0], "input")
      self.assertEqual(new_graph.nodes[0].outputs[0], "out")
  
      coreml_model = convert(onnx_model)
      spec = coreml_model.get_spec()
  
      self.assertEqual(
          spec.neuralNetwork.preprocessing[0].scaler.channelScale, 3.0
      )
      self.assertEqual(
          spec.neuralNetwork.preprocessing[0].scaler.blueBias, 20.0
      )
      self.assertEqual(
          spec.neuralNetwork.preprocessing[0].scaler.greenBias, -6.0
      )
      self.assertEqual(
          spec.neuralNetwork.preprocessing[0].scaler.redBias, 10.0
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import pytest
  import unittest
  import numpy
  import numpy.testing
  from coremltools._deps import _HAS_ONNX, MSG_ONNX_NOT_FOUND
label_desc: Use image node_id 2 for calling the NodeRemoverTests obj's underlying member method code with example usage: obj.test_image_scaler_remover() without return types