code: def export_batchwise() -> None:
      input = np.array(
          [[[1.0, 2.0]], [[3.0, 4.0]], [[5.0, 6.0]]]
      ).astype(np.float32)
  
      input_size = 2
      hidden_size = 6
      number_of_gates = 3
      weight_scale = 0.2
      layout = 1
  
      node = onnx.helper.make_node(
          "GRU",
          inputs=["X", "W", "R"],
          outputs=["Y", "Y_h"],
          hidden_size=hidden_size,
          layout=layout,
      )
  
      W = weight_scale * np.ones(
          (1, number_of_gates * hidden_size, input_size)
      ).astype(np.float32)
      R = weight_scale * np.ones(
          (1, number_of_gates * hidden_size, hidden_size)
      ).astype(np.float32)
  
      gru = GRUHelper(X=input, W=W, R=R, layout=layout)
      Y, Y_h = gru.step()
      expect(
          node,
          inputs=[input, W, R],
          outputs=[Y.astype(np.float32), Y_h.astype(np.float32)],
          name="test_gru_batchwise",
      )
  
file_path: onnx/onnx/backend/test/case/node/gru.py
imports: from typing import Any, Tuple
  import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
label_desc: Use image node_id 4 for calling the GRU obj's underlying member method code with example usage: obj.export_batchwise() without return types